多语言展示
当前在线:1126今日阅读:20今日分享:50

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

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

Leetcode

2

c++语言

方法/步骤
1

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

2

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

3

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

5

这一步提供我的打败97%的人的代码实现代码:class Solution {public:    vector twoSum(vector& nums, int target) {        unordered_map map;        for(int i=0;ivec{iter->second,i};                return vec;                             }                           map[target-val]=i;        }     }};

6

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

注意事项

如果对您有帮助请点个赞

推荐信息