leetocode刷題(1) 1 兩數之和

2021-10-04 23:53:50 字數 888 閱讀 5345

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

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

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

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

所以返回 [0, 1]

解法1:

class solution ;

}map.put(nums[i], i);

}throw new illegalargumentexception("no two sum solution");

}}

錯誤方法:雙指標技巧

網上有說使用雙指標解決,描述如下:

如果假設輸入乙個陣列 nums 和乙個目標和 target,請你返回 nums 中能夠湊出 target 的兩個元素的值,比如輸入 nums = [1,3,5,6], target = 9,那麼演算法返回兩個元素 [3,6]。可以假設只有且僅有一對兒元素可以湊出 target。

我們可以先對 nums 排序,然後利用前文 雙指標技巧 寫過的左右雙指標技巧,從兩端相向而行就行了

解法:

public class solution1 

else

if(beginval+endval>target)

else

if(beginval+endval == target);}

}return new int

;}}

**注意:**這裡的問題在於,陣列已經進行排序之後,如果原來是亂序的,排序後下標就不是原來的下標了,所以返回的下標是有問題的,這個解法不能在此使用

leetCode刷題 兩數之和

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

每日刷題 兩數之和

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

每日刷題 兩數相加

給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3 5 6 4 輸出 ...