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

两数之和--力扣1

两数之和

  • 题目
  • 思路
  • C++代码

题目

在这里插入图片描述

思路

根据题目要求,元素不能重复且不需要排序,我们这里使用哈希表unordered_map。注意题目说了只对应一种答案。

所以我们在循环中,使用目标值减去当前循环的nums[i],得到差值,如果我们在map中能够找到这个差值,就说明存在两个整数的和为目标值。

如果没有找到,就将当前循环的nums[i]以及下标i放入map中,以便后续查找差值。

C++代码

class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {unordered_map<int, int> map;for (int i = 0; i < nums.size(); i++) {//在map中找差值auto iter = map.find(target - nums[i]);if (iter != map.end()) {//找到即返回两个下标return {iter->second, i};}//没找到将当前的值和下标插入map中map.insert(pair<int, int>(nums[i], i));}return {};}
};

http://www.mrgr.cn/news/22394.html

相关文章:

  • 【分支-快速排序】
  • 树 --- 二叉树
  • 营养餐共享网站:项目规划Plan1
  • 【Python】CSV文件的简单使用
  • 系统架构师-ERP+集成
  • Qt 框架中的一个容器小部件QStackedWidget的基本使用
  • C语言基础
  • 嘉立创中秋福利来啦!
  • Vue3:<Teleport>传送门组件的使用和注意事项
  • Shader 渲染路径
  • python 实现判断IP4地址是否有效算法
  • C - Word Ladder题解
  • 高可用架构模式
  • 操作系统概述(三、虚拟化)
  • Java过滤器和监听器
  • 弄清楚学习PostgreSql的初衷是什么?
  • 【网络】UDP协议的简单使用
  • 详细介绍 `networkx` 库,探讨它的基本功能、如何创建图、操作图以及其常用参数。
  • 深度学习中常见的权重参数初始化方法
  • 数据库的操作:SQL语言的介绍