当前位置:网站首页>【LeetCode】1. 两数之和
【LeetCode】1. 两数之和
2022-07-29 14:31:00 【酥酥~】
给定一个整数数组 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]
示例 3:
输入:nums = [3,3], target = 6
输出:[0,1]
提示:
2 <= nums.length <= 104
-109 <= nums[i] <= 109
-109 <= target <= 109 只会存在一个有效答案
进阶:你可以想出一个时间复杂度小于 O(n2) 的算法吗
题解
使用暴力遍历
//C++
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
int len = nums.size();
for(int i=0;i<len-1;i++)
{
for(int j=i+1;j<len;j++)
{
if(nums[i]+nums[j]==target)
return {
i,j};
}
}
return {
};
}
};
使用哈希表,快速搜索是否存在对应值
//C++
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
unordered_map<int,int> mynums;
for(int i = 0;i<nums.size();i++)
{
auto iter = mynums.find(target-nums[i]);
if(iter != mynums.end())
{
return {
iter->second,i};
}
mynums[nums[i]] = i;
}
return {
};
}
};
边栏推荐
猜你喜欢
随机推荐
基于C语言实现一个社交系统
About inner classes
工业设备数字孪生技术,解决方案系统平台案例
城市污水处理过程模型预测控制研究综述
求教一下 现在最新版的flinkcdc能获取到oracle的ddl变更信息吗?
A review of deep learning for beginners!
兆骑科创赛事活动承办,项目路演,人才引进平台
用Asm生成Class字节码文件
工作效率-十五分钟让你快速学习Markdown语法到精通排版实践备忘
已解决SyntaxError: invalid character in identifier
C51 存储类型与存储模式
【左连接】坑点
Why do strings use the final keyword
一篇适合新手的深度学习综述!
你会看 MySQL 的执行计划(EXPLAIN)吗?
EA&UML日拱一卒-活动图::Feature和StuctualFeature
AVH部署实践 (一) | 在Arm虚拟硬件上部署飞桨模型
arcgis中编码方式改变引起的shp文件乱码、字符截断问题处理
部门例会上做测试分享,不知道分享什么内容?
WOLFLAB一方老师带你解读虚拟云网络《VMware NSX-T卷2》-1









