mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-06 23:28:29 +08:00
Update
This commit is contained in:
70
problems/0000.TwoSum.md
Normal file
70
problems/0000.TwoSum.md
Normal file
@ -0,0 +1,70 @@
|
||||
## 题目地址
|
||||
https://leetcode-cn.com/problems/two-sum/
|
||||
|
||||
## 思路
|
||||
|
||||
## 一般解法
|
||||
|
||||
代码:
|
||||
|
||||
```C++
|
||||
```
|
||||
|
||||
## 优化解法
|
||||
|
||||
```C++
|
||||
class Solution {
|
||||
public:
|
||||
vector<int> twoSum(vector<int>& nums, int target) {
|
||||
for (int i = 0; i < nums.size(); i ++) {
|
||||
for (int j = i + 1; j < nums.size(); j++) {
|
||||
if (nums[i] + nums[j] == target) {
|
||||
return {i, j};
|
||||
}
|
||||
}
|
||||
}
|
||||
return {};
|
||||
}
|
||||
};
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
class Solution {
|
||||
public:
|
||||
vector<int> twoSum(vector<int>& nums, int target) {
|
||||
std::map <int,int> map;
|
||||
for(int i = 0; i < nums.size(); i++) {
|
||||
auto iter = map.find(target - nums[i]);
|
||||
if(iter != map.end()) {
|
||||
return {iter->second,i};
|
||||
}
|
||||
map[nums[i]] = i;
|
||||
}
|
||||
return {};
|
||||
}
|
||||
};
|
||||
```
|
||||
|
||||
```
|
||||
class Solution {
|
||||
public:
|
||||
vector<int> twoSum(vector<int>& nums, int target) {
|
||||
std::unordered_map <int,int> map;
|
||||
for(int i = 0; i < nums.size(); i++) {
|
||||
auto iter = map.find(target - nums[i]);
|
||||
if(iter != map.end()) {
|
||||
return {iter->second, i};
|
||||
break;
|
||||
}
|
||||
map.emplace(nums[i], i);
|
||||
}
|
||||
return {};
|
||||
}
|
||||
};
|
||||
```
|
||||
## 代码
|
||||
|
||||
```C++
|
||||
|
||||
```
|
Reference in New Issue
Block a user