Two Sums
今天刷了一遍美国版LeetCode,第一题感觉挺简单:
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
vector<int> result;
for(int i=0;i<nums.size();i++){
int c=target-nums[i];//求差
for(int j=i+1;j<nums.size();j++){
if(nums[j]==c){
result.push_back(i);//压入Vector
result.push_back(j);//压入Vector
}
}
}return result;
}
};
比如说,Vector{1,2,3,4},和是7,画个图:
1,2X 1,3X 1,4X
2,3X 2,4X
3,4O
最终,答案是3,4。
复杂度:O(n²÷2)