前言
因为考研的关系也已经有快半年没写代码了,从今天开始进行复健,用Golang和C++刷完LeetCode Hot100的简单题和中等题
思路
题目链接:两数之和
直接暴力
Golang代码
func twoSum(nums []int, target int) []int {
for k, v := range nums {
for j := k + 1; j < len(nums); j++ {
if v+nums[j] == target {
return []int{k, j}
}
}
}
return nil
}
C++代码
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
int pos[2];
for(int i = 0; i < nums.size(); ++i){
vector<int>::iterator it = find(nums.begin(), nums.end(), target - nums[i]);
if(it != nums.end() && distance(nums.begin(), it) != i){
pos[0] = i;
pos[1] = distance(nums.begin(), it);
break;
}
}
vector<int> ans(pos, pos + 2);
// printf("%d %d", pos[0], pos[1]);
return ans;
}
};