給定乙個整數陣列nums
和乙個目標值target
,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。
你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。
示例:
給定 nums = [2, 7, 11, 15], target = 9
因為 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
用乙個map儲存每個數字和陣列下標,遍歷一次陣列元素,判斷map中有沒有target-nums[i]如果有就返回下標。我最先開始是使用雙重迴圈做的,時間複雜度 ,執行時間108ms,加上map之後執行時間變為了9ms,而且記憶體消耗從37.3 mb變成了38.7 mb。
之前沒有刷leetcode,今年立乙個flag,每週至少刷一道題,這個**對程式對效能測試更有利於讓我們體會到到時間複雜度和空間複雜度,看到一步一步的優化效果,還是很不錯的,總之每天進步一點點,積累起來就是一大步。
LeetCode001 兩數之和 Two Sum
給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的 兩個 整數。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 7 9,所以返回 0,1 ...
LEETCODE刷題01 顛倒整數01
為提高自己的專業技術,藝多不壓身,早上吃了飯就去了leetcode看了看,覺得挺有意思的。記錄一下答題過程吧 題目是這樣的 給定乙個範圍為 32 位 int 的整數,將其顛倒。例 1 輸入 123 輸出 321例 2 輸入 123 輸出 321 例 3 輸入 120 輸出 21 注意 假設我們的環境...
LeetCode 兩數之和 01
給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 ...