leetcode_two sum()
生活随笔
收集整理的這篇文章主要介紹了
leetcode_two sum()
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
最近覺(jué)得自己很渣,所以在這里立下flag,從今天開(kāi)始每天刷一道leetcode上的題目,并且在這里進(jìn)行代碼整理,閑話少說(shuō),進(jìn)入正題:
一、Two sum
題目要求:
我的答案:
vector<int> twoSum(vector<int>& nums, int target) {unordered_map<int, int> hash;vector<int> result;for (int i = 0; i < nums.size(); i++) {int numberToFind = target - nums[i];if (hash.find(numberToFind) != hash.end()) {result.push_back(hash[numberToFind]);result.push_back(i);return result;}hash[nums[i]] = i;}return result;}思路解析:? ? ? ?這個(gè)題目還是參考了別人的答案的,因?yàn)樽约簺](méi)想到好的辦法。具體思路就是用目標(biāo)數(shù)據(jù)target減去數(shù)組nums中第i個(gè)數(shù)據(jù)得到值numbertofind,然后在hash中尋找numbertofind,若能找到,則把i與numbertofind的下表按大小順序輸出,程序結(jié)束,若找不到,則把第i個(gè)數(shù)據(jù)與其下標(biāo)壓入hash,然后遍歷第i+1個(gè)數(shù)據(jù),直到找多正確的組合或者遍歷完所有的數(shù)據(jù),程序退出。
? ? ? ?假如這里要求是三個(gè)不同的數(shù)據(jù)相加得到target,這種辦法將不再適用。
總結(jié)
以上是生活随笔為你收集整理的leetcode_two sum()的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: idea新建springboot后端到前
- 下一篇: leetcode_add_two_num