【发布时间】:2020-03-06 14:25:08
【问题描述】:
给定一个整数数组,找到两个数字,使它们相加为一个特定的目标数字。
函数 twoSum 应该返回两个数字的索引,以便它们相加到目标,其中 index1
如果存在多个解,则输出 index2 最小的那个。如果有多个 index2 最小的解决方案,从其中选择 index1 最小的一个。
twoSum : function(A, B){
var tempA = A;
var index1 = [];
var index2 = [];
var Results = [];
var diff = A.length/2;
for(var i = 0; i < A.length - 1; i++){
var temp = B - A[i];
for(var j = i; j < A.length - 1; j++){
if(temp == A[j]){
if(j - i > 0){
if(j < Results[1] || Results.length == 0){
if(A[j] != A[Results[1]-1] && A[i] != A[Results[0]-1]){
Results[0] = i + 1;
Results[1] = j + 1;
}
}
}
}
}
}
return Results;
}
【问题讨论】:
-
你有一些数组的例子和想要的结果吗?顺便说一句,为什么索引不是从零开始的?
-
你可以从不计算和存储你不使用的变量开始。
-
@NinaScholz 是的,返回结果不是从零开始的,取决于我得到的问题
标签: javascript