兩數之和 C語言

2021-09-13 23:54:36 字數 861 閱讀 1652

示例:

給定 nums = [2, 7, 11, 15], target = 9

因為 nums[0] + nums[1] = 2 + 7 = 9

所以返回 [0, 1]

在呼叫函式時,如果返回值如果是乙個常量則沒問題。如果返回值若為指標則可能會出現該錯誤,假如返回的指標位址指向函式內的區域性變數,在函式退出時,該變數的儲存空間會被銷毀,此時去訪問該位址就會出現這個錯誤。

解決辦法有以下三種:

1.返回的指標使用malloc分配空間

2.將該變數使用static修飾 static修飾的內部變數作用域不變 但是宣告週期延長到程式結束 即該變數在函式退出後仍然存在

3.使用全域性變數

我原來寫出來的**是這個樣子的

int a[2]=;
她寫的是這樣的

static int a[2]=;
c語言中的static

這樣子,我就在網上查詢了有關static的資料,感覺c語言中的static 詳細分析這篇文章寫講解的很詳細我就不細說了。感興趣的可以去原文看。

/**

* note: the returned array must be malloced, assume caller calls free().

*/int* twosum(int* nums, int numssize, int target)

;

for(int i = 0; i < numssize-1; i++)

}return 0;

}

這個演算法題有好多種方式,大家有好的演算法一起討論。

C語言 兩數之和

題目 給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。注意 你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 示範 int twosum int nums,int numssize,int ...

兩數之和(C語言)

給定乙個整數陣列 nums 和乙個整數目標值 target,請你在該陣列中找出 和為目標值 的那 兩個 整數,並返回它們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,陣列中同乙個元素不能使用兩遍。你可以按任意順序返回答案。示例 1 輸入 nums 2,7,11,15 target 9 輸出 ...

求兩數之和(c 語言)

給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 ...