Given two positive integers n and sum, count the number of different pairs of integers (x, y) such that 1 <= x, y <= n and x + y equals sum
Example:
Input: n = 7, sum = 6 Output: 3 Explanation: There are 3 valid pairs: (1, 5), (2, 4), (3, 3). Note that pairs such as (1, 5) and (5, 1) are not considered different.
Note:
Your algorithm should run in O(n^2) time and use O(1) space.
Hints:
Let's come up with a brute force approach. Brute force tries each and every candidate to our solution. For this problem, the candidates are all the pairs of numbers
(x, y) such that 1 <= x <= y <= n.
How can we try out all these pairs?
Using two nested for loops! The first loop will try out each possible
x between 1 and n.
The second loop will be written inside the first one and will try out each possible y between x and n.
for each x : 1 -> n:
for each y : x -> n:
What should be written inside these loops?
Inside the loops we should check if the pair
(x, y) is a solution, e.g. if x + y == sum. If so, we should add 1 to the answer. But where do we store the answer? We'll need a variable for that. Let's name it result.
result = 0
for each x : 1 -> n:
for each y : x -> n:
if x + y == sum:
result += 1
return result
Walkthroughs of the solution. Try the steps first, then watch to compare approaches.
Free plan: 30 tutor messages. Premium is unlimited.
Saved
Ctrl + Enter to check