Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution, and you may not use the same element twice. Example: Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1].
题目的意思是找出一个数组中和为给定的目标数的两个数。
思路:最简单的,两重for循环,遍历数组。复杂度O(n2).
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
int n=nums.size();
vector<int>output;
for(int i=0; i<nums.size(); i++)
{
for(int j=i+1; j<nums.size(); j++)
{
if(nums[i]+nums[j]==target)
{
output.push_back(i);
output.push_back(j);
break;
}
}
}
return output;
}
};
但是这种题目一般都要求扫一次。two sum, three sum都是很经典的题目,最好自己想出答案,否则以后就没机会想了,毕竟和直接看答案是两个效果。如果还是想不出来,那就看我明天的分享吧。 人生易老,唯有陪伴最长情,加油!
以上就是关关关于这道题的总结经验,希望大家能够理解,有什么问题可以在我们的专知公众号平台上交流或者加我们的QQ专知-人工智能交流群 426491390,也可以加入专知——Leetcode刷题交流群(请先加微信小助手weixinhao: Rancho_Fang)。 同时请,关注我们的公众号,获取最新关于专知以及人工智能的资讯、技术、算法等内容。扫一扫下方关注我们的微信公众号。