2020-08-21
2 min read
力扣-两数之和
https://VincentZ007.github.io/post/li-kou-liang-shu-zhi-he/
https://VincentZ007.github.io/
热度🔥: loading...
难度 简单
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。
示例:
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
解法:
class Solution {
public int[] twoSum(int[] nums, int target) {
for(int i=0;i<nums.length;i++){
for(int j=i+1;j<nums.length;j++){
if(nums[j]==target-nums[i]){
return new int[] {i,j};
}
}
}
throw new IllegalArgumentException("No two sum solution");
/*这一句我不知道是什么意思,但是看样子应该是返回一句话就是说没有解;来解决报错“missing return statement”的问题*/
}
}
分析:
既然题目要求找出和为target的两个数,那我们就把所有数给试一遍。第一个循环是数组里的所有数,第二个循环就是当前[i]的后面所有数字,这样可以比j=0更加高效。
上一篇
力扣-机器人能否返回原点
下一篇
笔记-2020/07/18