LeetCode之Two Sum
2017-02-24 20:27
183 查看
第一次用LeetCode写代码。第一周事情比较多,比较忙碌,所以先从最简单的Two Sum开始写起啦。我也好久不用C++写程序了,所以第一周就当练练手了
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/tongue.gif)
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;
}
}
}
}
};
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/tongue.gif)
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;
}
}
}
}
};
相关文章推荐
- LeetCode-Two Sum
- 第一个leetcode题目: two sum
- leetcode_1. Two Sum
- [LeetCode] Two Sum
- Two Sum —— Leetcode
- leetcode-- two sum
- Leetcode8 Two sum
- [leetcode-1] Two sum
- LeetCode-Two sum
- LeetCode1_Two Sum
- LeetCode 167 Two Sum 2-Input array is sorted
- 【JAVA、C++】LeetCode 001 Two Sum
- LeetCode(62)-Two Sum
- LeetCode_Two Sum
- LeetCode 之 Two Sum
- LeetCode-Two Sum
- LeetCode Two Sum
- [leetcode]Two Sum
- leetcode.array--1. Two Sum
- Leetcode-Two Sum