您的位置:首页 > 其它

LeetCode之Two Sum

2017-02-24 20:27 183 查看
第一次用LeetCode写代码。第一周事情比较多,比较忙碌,所以先从最简单的Two Sum开始写起啦。我也好久不用C++写程序了,所以第一周就当练练手了


Two Sum其实很好理解,就是给你一个整数数组和一个名叫target的整数,需要求出数组中两个整数的下标,这两个整数满足加起来等于target。最简单的思路,这道题可以用两个循环来解决:内部循环是将数组中某个数与在它之后的每个数相加,判断是否等于target;外部循环就是从数组中的第一个数开始,直到数组中的倒数第二个数,对它们每个数进行一次内部循环。这样,当我们第一次找到加起来等于target的两个数之后,我们可以从外部循环和内部循环分别获取到它们的下标,然后返回,题目得解。

由于本题已经假设了至少存在一组解,那么也就排除了边界情况。

class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
for (int i = 0; i <= nums.size() - 2; ++i) {
for (int j = i + 1; j <= nums.size() - 1; ++j) {
if (nums[i] + nums[j] == target) {
vector<int> answer(2);

answer[0] = i;
answer[1] = j;

return answer;
}
}
}
}
};

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: