当前位置: 首页 > article >正文

【LeetCode】两数之和

题目:

在数组中找到 2 个数之和等于给定值的数字,结果返回 2 个数字在数组中的下标。要求时间复杂度为 O(n)。

解题分析:

作者:halfrost
链接:https://leetcode.cn/leetbook/read/leetcode-cookbook/5lu4og/

顺序扫描数组,对每一个元素,在 map 中找能组合给定值的另一半数字,如果找到了,直接返回 2 个数字的下标即可。如果找不到,就把这个数字存入 map 中,等待扫到“另一半”数字的时候,再取出来返回结果。

代码:

作者:JasonChiu
链接:https://leetcode.cn/leetbook/read/leetcode-cookbook/5lu4og/?discussion=789HT4

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        unordered_map<int, int> m;
        for(int i = 0 ; i < nums.size(); ++i){
            if(  m.count( target - nums[i] ) == 0 ){
                m[ nums[i] ] = i;
            } else {
                return { m[ target - nums[i] ], i};
            }            
        }        
        return {};
    }
};


http://www.kler.cn/a/289197.html

相关文章:

  • 继承和多态(上)
  • LLMs 如何处理相互矛盾的指令?指令遵循优先级实验
  • docker镜像源,亲测可用,时间2024-11-14
  • 更改Ubuntu22.04锁屏壁纸
  • Spring MVC 与 JSP 数据传输
  • 如何用WordPress和Shopify提升SEO表现?
  • 开源模型应用落地-qwen2-7b-instruct-LoRA微调-ms-swift-单机单卡-V100(十二)
  • R3 天气预测
  • C++复习day01
  • Java中的双亲委派模型以及如何破坏双亲委派
  • JetBrains`s IntelliJ IDEA springboot项目 gradle-bin安装 国内加速
  • upload-labs闯关攻略
  • 代码随想录刷题day21丨669. 修剪二叉搜索树,108.将有序数组转换为二叉搜索树,538.把二叉搜索树转换为累加树,二叉树总结
  • Java-通过Runnable接口实现多线程
  • DNS介绍(hosts文件,域名结构),面试题(输入url后会发生什么)
  • HTTP Tomcat相关知识
  • Notepad++的高级功能及插件使用说明(含安装包)
  • NIO笔记03-文件编程
  • JS实现高度不等的列表虚拟滚动加载
  • mysql迁移到达梦数据库报错:列[xx]长度超出定义
  • subclass-balancing的related work+conclusion
  • 智能合约漏洞(五)
  • AI大模型编写多线程并发框架(六十五):发布和应用
  • vue 动态替换父组件
  • salesforce flow 更新记录,某一个更新失败会导致所有失败吗
  • SpringMVC基于注解的使用