題目描述:給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。
你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。
例子:給定 nums = [2, 7, 11, 15], target = 9
因為 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
題目難點:
1.同樣的元素可能出現兩次
解題思路:
1.使用sort函式對陣列元素進行排序,然後設定兩個下標i和j尋找和為targe的兩個元素下標。
2.排序之前,使用stl模板的map函式,把陣列內的元素值和其下標對應起來,因為陣列內元素可能相同,故map的第二個引數我們使用vector,當元素出現多次的時候,我們把下標都存入vector內。
**如下:
#include #include #include #include using namespace std;
class solution
sort(nums.begin(),nums.end()); //排序
vectorresoult(2);
for(int i =0,j=nums.size()-1;itarget) // 和大於target,j--
else
}return resoult;
}};
leetcode刷題筆記 兩數相加 1
給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 ...
LeetCode刷題筆記1 兩數之和
鏈結給定乙個整數陣列 nums 和乙個整數目標值 target,請你在該陣列中找出 和為目標值 的那 兩個 整數,並返回它們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,陣列中同乙個元素不能使用兩遍。你可以按任意順序返回答案。class solution def twosum self,nu...
leetcode刷題筆記(1) 兩數之和
1.1 描述給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,陣列中同乙個元素不能使用兩遍。1.2 用例給定 nums 2,7,11,15 target 9 因為 nums 0 num...