zoukankan      html  css  js  c++  java
  • leecode第一题(两数之和)

    class Solution {
    public:
        vector<int> twoSum(vector<int>& nums, int target) {
            map<int,int> a;//提供一对一的hash
            vector<int> b(2,-1);//用来承载结果,初始化一个大小为2,值为-1的容器b
            for(int i=0;i<nums.size();i++)
            {
                if(a.count(target-nums[i])>0)
                {
                    b[0]=a[target-nums[i]];
                    b[1]=i;
                    break;
                }
                a[nums[i]]=i;//反过来放入map中,用来获取结果下标
            }
            return b;
        };
    };

    分析:

    这个题除了暴力法,我能想到就是排序后搜索,算法复杂度nlogn。然后看网上说用空间换时间,也就是哈希表结构。。。

    map要好好熟悉熟悉。

  • 相关阅读:
    个人总结
    团队作业五
    个人项目五:个人回顾
    第二次冲刺
    第一次冲刺
    猜数字1
    随机数
    个人作业
    课后作业1
    作业
  • 原文地址:https://www.cnblogs.com/CJT-blog/p/11179731.html
Copyright © 2011-2022 走看看