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

简单题:1.两数之和

题目描述:

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。

要求:

可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。
可以按任意顺序返回答案。

示例 1:

输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。

示例 2:

输入:nums = [3,2,4], target = 6
输出:[1,2]

解答:

方法一、暴力枚举:

class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {int result_i=0,result_j=0;for(int i=0;i<nums.size();++i){for(int j=0;j<nums.size();++j){if(nums[i]+nums[j] == target && j!=i){result_i = i;result_j = j;break;}}}std::vector<int> result;result.push_back(result_i);result.push_back(result_j);return result;}
};

方法二、哈希表:

class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {unordered_map<int,int> hashtable;for(int i=0;i<nums.size();++i){auto it=hashtable.find(target-nums[i]);if(it !=hashtable.end()){return{it->second,i};}hashtable[nums[i]]=i;}return {};}
};

哈希表的特性:

(1)查找时复杂度为O(1);
(2)使用insert插入元素时,第一次insert成功,第二次insert不能将第一次的值覆盖;
(3)使用索引赋值时,能将元素进行有效更新。

例:

#include<unordered_map>// 初始 map 的内容为{{1,1},{2,2},{3,3}}
unordered_map<int, int> map{{1,1},{2,2},{3,3}};
//修改第3个元素
map[3]=4;
// map的内容更新为{{1,1},{2,2},{3,4}}
// 插入新元素
map.insert({4,10});
// map的内容更新为{{1,1},{2,2},{3,4},{4,10}}
// 试图修改map第4个元素的值
map.insert({4,20});
// map的内容仍为{{1,1},{2,2},{3,4},{4,10}}
http://www.lryc.cn/news/500320.html

相关文章:

  • RTCMultiConnection 跨域问题解决
  • 23种设计模式之解释器模式
  • Postgresql内核源码分析-表数据膨胀是怎么回事
  • github使用SSH进行克隆仓库
  • 【Linux系统】 Linux内核与UNIX设计哲学的结合
  • 以太网PHY_RGMII通信(基于RTL8211)--FPGA学习笔记22
  • PowerShell 脚本实战:解决 GitLab 仓库文件批量重命名难题
  • 数据分析及应用:滴滴出行打车日志数据分析
  • Odoo :一款免费且开源的食品生鲜领域ERP管理系统
  • 请求路径中缺少必需的路径变量[xxxId]
  • 【在Linux世界中追寻伟大的One Piece】HTTP cookie
  • COLA学习之DDD各种术语分析(一)
  • Pygments:高效的语法高亮工具
  • 算法-字符串-43.字符串相乘
  • linux的vdagent框架设计
  • CV工程师专用键盘开源项目硬件分析
  • qtcanpool 知 08:Docking
  • Milvus向量数据库01-基础概念
  • mysql备份数据库
  • NLP与LLM的工程化实践与学习思考 - 写在开头
  • LeetCode322. 零钱兑换(2024冬季每日一题 28)
  • Unix、GNU、BSD 风格中 ps 参数的区别
  • 单片机读写内部flash实现断电数据存储
  • 注意力机制介绍
  • 爬虫运行后数据如何存储?
  • C# 自动自定义截图的内容
  • Java的Stream流:文件处理、排序与串并行流的全面指南
  • [Maven]下载安装、使用与简介
  • 056 WXML+ WXSS+PHP+LW+校园配送商城微信小程序开发与设计 源码 文档 全套资料
  • Python 在同一/或不同PPT文档之间复制幻灯片