leetcode 22 c++
时间: 2024-08-17 12:02:59 浏览: 32
LeetCode是一个非常流行的在线编程练习平台,它提供各种算法题目供程序员们练习和提升技能,特别是针对技术面试准备。第22题通常是从LeetCode的经典题目库中选取的一个示例,题目通常会编号,并经常变更。例如,“两数之和”(Two Sum)是其中一道经典的Python/C++题目,它的基本描述是:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。
在C++中解决这个问题,你需要遍历数组,同时维护一个哈希表(unordered_set),存储已经遇到过的数字。然后对于每个元素,你可以检查哈希表中是否存在目标值减去这个元素的结果,如果存在,就找到了一对符合条件的数,返回它们的索引。以下是简单的C++代码示例:
```cpp
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
unordered_map<int, int> map;
for (int i = 0; i < nums.size(); ++i) {
if (map.find(target - nums[i]) != map.end()) {
return {map[target - nums[i]], i};
}
map[nums[i]] = i;
}
throw runtime_error("No solution found");
}
};
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)