初級演算法 兩數之和

2021-09-29 02:10:34 字數 975 閱讀 8492

兩數之和

給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。

你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。

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

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

所以返回 [0, 1]

我的思路:

直接用兩個迭代器遍歷,乙個固定,乙個向前找。如果前後兩個相加為目標的話,就把兩個迭代器的值放入ans陣列中(題目要求返回的時陣列的下標),然後在nums陣列中刪除這兩個元素(因為不能重複利用陣列中的元素),固定的迭代器直接根據擦除資料時返回的下乙個迭代器作為自加的操作,而用來尋找的迭代器只要每次都從固定的迭代器的後一位置開始。執行完操作後直接break跳出迴圈。如果沒找到符合條件的值,就使固定迭代器自加,實現向後一位。

執行不成功 ,提示超時,但也沒有顯示結果,應該是內部有什麼問題而我看不出來。

class

solution

else}}

return ans;}}

;

看了題解的暴力解法後自己寫的**,已通過:

class

solution

else}}

return ans;}}

;

但是有一點不明白,不是說不能重複利用元素嗎?我認為應該在獲得完一次下標後,把對應元素置零,以防重發利用.

class

solution

else}}

return ans;}}

;

用我自己測試用例,即有重複元素出現時,不置零的話得到的結果不正確,置零的結果可以得到多組,要更好一點。

更優化的寫法要用到雜湊表、map等,等我學會了再說。

拜拜胖虎加油

初級演算法 9 兩數之和

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

力扣 初級演算法兩數之和

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

LeetCode初級演算法之陣列 1 兩數之和

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