給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。
你可以假設每種輸入只會對應乙個答案。但是,陣列中同乙個元素不能使用兩遍。
這是我第一次做leetcode題目,還在乙個適應的過程,這一題相對來說比較簡單,但是我做了乙個多小時。中間出了很多錯,下面我將會把我的報錯都貼出來,一一分析解決。
重點!!!!敲黑板!!!!
首先搞清楚函式中的形參的意思: int* nums表示傳進去乙個陣列的位址; int numssize表示傳進去的陣列大小; int target表示陣列中兩數相加需要等於的值; int* returnsize表示返回的陣列的大小
關於returnsize 大家可以看一下這個鏈結link
錯誤型別1
出現這種錯誤可能原因 returnsize 觀察實際輸出和預期的輸出可以發現,int* returnsize 其實是輸出的值的個數,所以我們要對returnsize進行賦值。
另外可以看看是不是返回值有問題,注意觀察返回值和函式引數中所給的返回值型別是否一樣,個數是否一樣(如果有錯,歡迎指正)
stack buffer overflow 棧快取訪問溢位
檢查的時候看看訪問的位置超出棧上陣列的邊界。
大家可以看一下關於address sanitizer用法的知識 鏈結在這裡: link.
這個是我的知識盲區,之後我會對這個知識進行研究,再回來詳細解答這個報錯,此處只提供經驗,可能出錯的原因
錯誤型別2
錯誤型別3
出現這個錯誤的原因 我以為returnsize是乙個陣列,所以在函式中給這個returnsize賦值為乙個陣列,型別不一樣,再再再再再次強調returnsize是乙個數值
**送上
/**
* note: the returned array must be malloced, assume caller calls free().
*/int*
twosum
(int* nums, int numssize, int target,int* returnsize)}}
*returnsize =0;
return0;
}
LeetCode刷題 第一題 (兩數之和)
給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 ...
Leetcode刷題記錄 第一題
給定乙個大小為 n 的陣列,找到其中的多數元素。多數元素是指在陣列 現次數大於 n 2 的元素。你可以假設陣列是非空的,並且給定的陣列總是存在多數元素。示例 1 輸入 3,2,3 輸出 3 示例 2 輸入 2,2,1,1,1,2,2 輸出 2 上手的第一時間用的排序演算法 class solutio...
leetcode簡單題第一題python3
題目 給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1...