leetcode大戰! 001 two sum
阿新 • • 發佈:2018-12-19
C++
4ms
class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { map<int, int> tmpmap;//鍵值為nums的值,變數值為nums下標 for (int i = 0; i < nums.size(); ++i) { if (tmpmap.count(nums[i])) { return {tmpmap[nums[i]],i}; } tmpmap[target - nums[i]] = i; } return {}; } };
8ms
class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { map<int, int> tmpmap;//鍵值為nums的值,變數值為nums下標 for (int i = 0; i < nums.size(); ++i) { if (tmpmap.find(nums[i])!=tmpmap.end()) { return {tmpmap[nums[i]],i}; } tmpmap[target - nums[i]] = i; } return {}; } };
time limit exceeded
class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { for(int i = 0;i < nums.size();i++) { for(int j = i+1;j <=nums.size();i++) { if(nums[j] == target-nums[i]) { return {i,j}; } } } return {}; } };