概述
class Solution {
public int[] twoSum(int[] nums, int target) {
int temp;
int arr = new int[2];
for(int i = 0; i < nums.length;i++){
for(int j = i+1;j < nums.length-i-1;j++){
temp = nums[i]+nums[j];
if(target == temp){
// System.out.println("["+i+","+j+"]");
arr[i] = i;
arr[j] = j;
}
}
}
return arr;
}
}
上面就是我的代码,执行成功,我以为自己解决了,于是提交了,结果系统给我的多余一种结果的数组,系统报错,我的arr数组超出容量。
当我把数组的容量改为4,系统出现一个巨长的测试数组
[230,863,916,585,981,404,316,785,88,12,70,435,384,778,887,755,740,337,86,92,325,422,815,650,920,125,277,336,221,847,168,23,677,61,400,136,874,363,394,199,863,997,794,587,124,321,212,957,764,173,314,422,927,783,930,282,306,506,44,926,691,568,68,730,933,737,531,180,414,751,28,546,60,371,493,370,527,387,43,541,13,457,328,227,652,365,430,803,59,858,538,427,583,368,375,173,809,896,370,789]
??这是想弄死我的arr数组吗???
偷偷的看了一下官方的代码
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");
}
我的代码很弱!
最后
以上就是伶俐电源为你收集整理的力扣第一题,两数之和的全部内容,希望文章能够帮你解决力扣第一题,两数之和所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复