LeetCode刷题记录(第二天)1. 两数之和

题目:1. 两数之和

标签:数组 哈希表
题目信息:
在这里插入图片描述
在这里插入图片描述

思路一:暴力做法

直接两重for循环遍历,判断两数和为target的时候返回下标结果

代码实现:

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        int n=nums.size();
        vector<int>ans;
        for(int i=0;i<n;i++){
            for(int j=i+1;j<n;j++){
                if(nums[i]+nums[j] == target){
                    ans.push_back(i);
                    ans.push_back(j);
                    return ans;
                }
            }
        }
        return ans;
    }
};

时间复杂度分析:
O(n^2)

思路二:哈希表

用哈希表来记录值和对应的下标。
先新建一个哈希表map
遍历数组,每遍历一个值,就判断(target-这个值)在不在map中,如果在,就可以结束遍历了。
否则,将这个值和对应下标存入哈希表中,遍历继续。

代码实现:

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        int n=nums.size();
        vector<int>ans;
        unordered_map<int,int>mp;//值,下标
        for(int i=0;i<n;i++){
            if(mp.find(target-nums[i])!=mp.end()){
                ans.push_back(i);
                ans.push_back(mp[target-nums[i]]);
            }
            mp[nums[i]]=i;
            
        }
        return ans;
    }
};

时间复杂度分析:
O(1)

总结:

哈希表的妙用还是太多啦。

相关推荐

  1. leetcode之和

    2024-07-20 15:46:01       30 阅读
  2. LeetCode1 - 之和

    2024-07-20 15:46:01       54 阅读
  3. LeetCode1. 之和

    2024-07-20 15:46:01       29 阅读
  4. 力扣笔记(1之和(C++)

    2024-07-20 15:46:01       26 阅读
  5. LeetCode记录】15. 三之和

    2024-07-20 15:46:01       30 阅读
  6. LeetCode 1. 之和

    2024-07-20 15:46:01       78 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 15:46:01       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 15:46:01       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 15:46:01       45 阅读
  4. Python语言-面向对象

    2024-07-20 15:46:01       55 阅读

热门阅读

  1. 数据结构——栈

    2024-07-20 15:46:01       17 阅读
  2. 量化交易对短期收益的提升效果

    2024-07-20 15:46:01       17 阅读
  3. ArcGIS Pro SDK (九)几何 9 立方贝塞尔线段

    2024-07-20 15:46:01       15 阅读
  4. glibc: getifaddrs_internal 占用大量cpu

    2024-07-20 15:46:01       14 阅读
  5. 【关于使用swoole的知识点整理】

    2024-07-20 15:46:01       14 阅读
  6. 弹框管理类demo

    2024-07-20 15:46:01       17 阅读
  7. 单机 Redission 存在的问题以及怎么解决

    2024-07-20 15:46:01       15 阅读
  8. 力扣(LeetCode)——70. 爬楼梯

    2024-07-20 15:46:01       14 阅读
  9. 如何使用fiddler 查看手机端数据包

    2024-07-20 15:46:01       19 阅读