第一天做,从简单的开始,就当复习一下C++~对于leetcode来说,其实很多算法题是有固定的套路和方法,自己在算法层面做出很大的创新基本是不可能的。所以也不用求快,重要的是这个过程中学习套路,锻炼下脑子。
题目
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
- 返回的是一个vector,可能是通过引用传递,所以没有真的拷贝内容
- vector库
- 使用二重循环遍历所有的组合即可(更快的算法可能是减少了遍历过程中的重复)
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
vector<int> obj;
for(int i=0; i<nums.size(); i++){
for(int j=i+1; j<nums.size(); j++){
if(nums[i] + nums[j] == target){
obj.push_back(i);
obj.push_back(j);
break;
}
}
}
return obj;
}
};