LeetCode刷題筆記 第一題 兩數之和

2021-10-23 19:44:35 字數 1311 閱讀 3613

給定乙個整數陣列 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...