Skip to content

Commit 93d844c

Browse files
authored
Merge pull request neetcode-gh#1010 from julienChemillier/patch-1
Add 167-Two-Sum-II.c
2 parents cd722f4 + 80d5a60 commit 93d844c

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

c/167-Two-Sum-II.c

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
2+
/*
3+
Given a 1-indexed sorted int array & target:
4+
Return indices (added by 1) of 2 nums that add to target
5+
2 pointers, outside in, iterate i/j if sum is too low/high
6+
Time: O(n)
7+
Space: O(1)
8+
*/
9+
10+
int* twoSum(int* numbers, int numbersSize, int target, int* returnSize){
11+
*returnSize = 2;
12+
int* ans = malloc(sizeof(int)*2);
13+
14+
int i = 0;
15+
int j = numbersSize-1;
16+
int k;
17+
while (true) {
18+
k = numbers[i]+numbers[j]-target;
19+
if (k==0) { // numbers[i]+numbers[j] = target
20+
ans[0] = i+1;
21+
ans[1] = j+1;
22+
return ans;
23+
} else if (k>0) // numbers[i]+numbers[j] > target
24+
j--;
25+
else // numbers[i]+numbers[j] < target
26+
i++;
27+
}
28+
}

0 commit comments

Comments
 (0)