[leetcode]兩數之和(Two Sum)
阿新 • • 發佈:2019-02-06
最近開始做leetcode上的題目,在此簡單做一下記錄。從簡單的題開始做,每週週末更新本週完成的題目ヘ(`▽´*)
有任何不正確的地方還請大佬們指正。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
兩數之和(Two Sum)
2018.10.8
給定一個整數陣列和一個目標值,找出陣列中和為目標值的兩個
你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。
示例:
給定 nums = [2, 7, 11, 15], target = 9
因為 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
題解:
class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { int length = nums.size(); vector<int> re(2); for(int i=0;i<length;i++) { for(int j=i+1;j<length;j++) { if(nums[i]+nums[j]==target) { re[0]=i; re[1]=j; return re; } } } } };
本題我採用的是暴力迴圈的方法,因為...好想啊!
定義迴圈變數i,j,i從0開始迴圈整個vector,j從i所在位置的後一個開始,同樣迴圈到最後。如果其中有兩個元素相加的值等於給出的target,則將兩個元素所對應的下標即i,j的值存入新的vector re,並返回vector re即可。
備註:此題為leetcode的第一題,是刷題的第一道門。