Leetcode 第一题:Two Sum(C++实现)

 时间:2024-10-17 10:29:56

本篇经验主要是主要是为帮助广大在Leetcode刷题的朋友提供一些题目解决的思路,水平不够希望指正和评论。下面介绍一下Leetcode第一题的TwoSum问题的解决思路。

工具/原料

Leetcode

c++语言

方法/步骤

1、问题描述:给定一个整数数组,返回两个数字的索引,使它们相加的值等于一个特定的目标值。假设对于每个输入只有一种解决方案,并且您不可以两次同时使用相同的元素。

Leetcode 第一题:Two Sum(C++实现)

2、问题的示例:给定nums=[2,7,11,15],target=9,因为nums[0]+nums[1]=2+7=9,返回[0,1]。

Leetcode 第一题:Two Sum(C++实现)

3、输入与输出:vector<int>twoSum(vector<int>&nums,inttarget){}完成这个成员函数解决问题。

Leetcode 第一题:Two Sum(C++实现)

4、思路:这个可以使用哈希表一次搞定这个问题。当我们扫描整个数组,检查当前元素的补码是否已经存在于表中。如果存在,我们已经找到解决方案并立即返回。如果不存在就向表中插入该元素。

Leetcode 第一题:Two Sum(C++实现)

5、这一步提供我的打败9蚀卺垦肝7%的人的代码实现代码:classSolution{public:vector<稆糨孝汶;int>twoSum(vector<int>&nums,inttarget){unordered_map<int,int>map;for(inti=0;i<nums.size();i++){intval=nums[i];autoiter=map.find(val);if(iter!=map.end()){vector<int>vec{iter->second,i};returnvec;}map[target-val]=i;}}};

Leetcode 第一题:Two Sum(C++实现)

6、时间复杂度分析:时间复杂度:O(n)我们只遍历包含nn元素的列表一次。每次查找釉涑杵抑表只花费O(1)时间。空间复杂度:O(n)所需的额外空间取决于散列表中存储的项的数量,散列表最多存储n元素。

Leetcode 第一题:Two Sum(C++实现)

可爱漂亮的鱼馒头做法 妖姬ol2武将攻略 玫瑰奶茶的做法,教你怎么做玫瑰奶茶 在QQ炫舞游戏里怎样领取30天离线经验? 怎么做舒芙蕾
热门搜索
蜡笔小新可爱图片 雪乡图片 月亮图片大全 免费韩漫无遮漫画全部 动漫猫咪图片