首页 > 学院 > 开发设计 > 正文

LeetCode Two Sum

2019-11-08 00:49:56
字体:
来源:转载
供稿:网友
1、indices  ['ɪndɪsiːz]n. 指数;目录(index的复数) 2、vector的操作(1)创建vector对象  vector<int> vec;(2)使用下标访问元素  vector[0](3)尾部插入元素a  vector.push_back(a);(4)用迭代器在第i+1个元素前面插入元素a  vector.insert(vec.begin()+i,a);(5)获取vector的大小  vector.size()3、my solution(C++):
class Solution {public:    vector<int> twoSum(vector<int>& nums, int target) {        vector<int> vec;        for(int i=0;i<nums.size();i++){            for(int j=i+1;j<nums.size();j++){                if(nums[j]==target-nums[i]){                    vec.insert(vec.begin(),i);                    vec.push_back(j);                }            }        }        return vec;    }};4、other solutions
vector<int> twoSum(vector<int> &numbers, int target){    //Key is the number and value is its index in the vector.        unordered_map<int, int> hash;        vector<int> result;        for (int i = 0; i < numbers.size(); i++) {                int numberToFind = target - numbers[i];            //if numberToFind is found in map, return them                if (hash.find(numberToFind) != hash.end()) {                    //+1 because indices are NOT zero based                        result.push_back(hash[numberToFind] + 1);                        result.push_back(i + 1);                                             return result;                }            //number was not found. Put it in the map.                hash[numbers[i]] = i;        }        return result;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表