LeetCode 01. 两数之和
生活随笔
收集整理的这篇文章主要介绍了
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. 两数之和的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 南京房屋租赁登记备案证明需要什么材料(南
- 下一篇: 剑指 Offer 51-----59