欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

LeetCode 01. 两数之和

发布时间:2023/12/3 编程问答 28 豆豆
生活随笔 收集整理的这篇文章主要介绍了 LeetCode 01. 两数之和 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

原题

分析:

1.根据题意,首先需要将要数据选择一个合适的 数据结构模型。  因为是对应相关联,所以我们选择unordered_map

2.因为是一组数,所以用数组 ,将数值与数组下标对应起来

3.已知两数之和,从数组第一个数开始比较,确认余数是否在unordered_map中,如果存在,则使用key值取出其value;如果不在,则以key - value的形式将当前值和当前下表存入unordered_map,然后继续重复执行。

4.将要两个下标传入vector即可

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

总结

以上是生活随笔为你收集整理的LeetCode 01. 两数之和的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。