1. 程式人生 > 實用技巧 >力扣 兩數之和

力扣 兩數之和

這個題我的答案通不過,但是我覺得我寫的是對的,當然,細節的話可能會有失誤,因為沒有測試,所以如果有啥問題就反饋。

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 int* twoSum(int* nums, int numsSize, int target, int* returnSize) {
 4     int map[100];
 5     map[0] = target - nums[0];
 6     for (int i = 1; i < numsSize; i++) {
 7         for (int
j = 0; j < sizeof(map)/sizeof(*map); j++) { 8 if (nums[i] == map[j]) { 9 returnSize[0] = j; 10 returnSize[1] = i; 11 } 12 return returnSize; 13 } 14 map[i] = target - nums[i]; 15 } 16 17 } 18 19 int main() {
20 int a[4] = { 2,7,11,15 }; 21 int b[2]; 22 int target = 9; 23 twoSum(a, sizeof(a) / sizeof(*a), target, b); 24 25 printf("[%d,%d]\n", b[0],b[1]); 26 27 return 0; 28 }

函式剛開始的那個map[100]我是無奈加的,因為vs2019不通過動態記憶體。

思路就是雜湊表