LeetCode熱題100 1 兩數之和

2021-10-22 05:42:15 字數 1491 閱讀 1830

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

你可以假設每種輸入只會對應乙個答案。但是,陣列中同乙個元素不能使用兩遍。

你可以按任意順序返回答案。

示例 1:

輸入:nums =[2

,7,11

,15], target =

9輸出:[0,

1]解釋:因為 nums[0]

+ nums[1]

==9 ,返回 [0,

1] 。

示例 2:

輸入:nums =[3

,2,4

], target =

6輸出:[1,

2]

示例 3:

輸入:nums =[3

,3], target =

6輸出:[0,

1]

2

<= nums.length <=

103-

109<= nums[i]

<=

109-

109<= target <=

109只會存在乙個有效答案

已知:目標值、所有加數的無序可重複陣列

條件:陣列中的每個元素只能使用一次,陣列中取兩個數之和等於目標值

未知:第乙個加數、第乙個加數索引、第二個加數、第二個加數索引

求:第乙個加數索引、第二個加數索引

第一步:

- 求第乙個加數,遍歷陣列獲得,也可獲得第乙個加數索引

- 已知:目標值、第乙個加數、第乙個加數索引、陣列

- 未知:第二個加數、第二個加數索引

第二步:

- 求第二個加數,等於目標值減第乙個加數

- 已知:目標值、第乙個加數、第乙個加數索引、第二個加數、陣列

- 未知:第二個加數索引

第三步:

- 求第二個加數索引,找陣列中與第二個加數相等的值的索引(雜湊(o(n))/遍歷(n^2))

- 已知:目標值、第乙個加數、第乙個加數索引、第二個加數、第二個加數索引、陣列

- 解出第乙個加數索引、第二個加數索引

class

solution

;int numssize = nums.

size()

, one;

unordered_map<

int,

int>

::iterator twoiter;

unordered_map<

int,

int> numsmap;

for(

int i =

0; i < numssize;

++i);}

numsmap[one]

= i;

}return;}

};

Leetcode熱題100 1 兩數之和

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

Leetcode熱題100 2 兩數相加

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

LeetCode熱題100 2 兩數相加

給你兩個 非空 的鍊錶,表示兩個非負的整數。它們每位數字都是按照 逆序 的方式儲存的,並且每個節點只能儲存 一位 數字。請你將兩個數相加,並以相同形式返回乙個表示和的鍊錶。你可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。輸入 l1 2 4,3 l2 5 6,4 輸出 7,0,8 解釋 34...