leetcode1. 两数之和(两种方法)
生活随笔
收集整理的這篇文章主要介紹了
leetcode1. 两数之和(两种方法)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一:題目
二:上碼
1:方法一
class Solution { public:vector<int> twoSum(vector<int>& nums, int target) {vector<int> v;for(int i = 0; i < nums.size() - 1; i++) {for(int j = i+1; j < nums.size(); j++) {if(nums[i] + nums[j] == target) {v.push_back(i);v.push_back(j);return v;}}}return {};} };2:方法二
class Solution { public:vector<int> twoSum(vector<int>& nums, int target) {unordered_map<int,int> m;//底層實現是哈希表,查找效率較高,key值不重復,但無序unordered_map<int,int>:: iterator mt;for(int i = 0; i < nums.size(); i++) {mt = m.find(target - nums[i]);if(mt != m.end()){//比如 nums = [2,7,11,15], target = 9,當nums[1] = 7的時候,此時//mt指向的是2,然而2是存在的,所以返回下標 return{mt->second,i};}m[nums[i]] = i;}return {};} };總結
以上是生活随笔為你收集整理的leetcode1. 两数之和(两种方法)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 红茶和绿茶哪个减肥最好
- 下一篇: 减肥遇到瓶颈期减不下去了怎么办