我有一个问题,我们必须遍历数组并找到两个具有任意给定值的匹配元素的索引。
我正在嵌套嵌套遍历数组,并并行检查两个元素的和并返回两个元素的索引(如果它们与答案匹配)
class Solution {
public int[] twoSum(int[] nums, int target) {
int ans[] = new int[2];
int sum=0;
int index=0;
myloop: for (index=0; index < nums.length; index++) {
for (int index2 = index + 1 ; index2 < nums.length - 1; index2++) {
sum = nums[index] + nums[index2];
if (sum == target) {
ans[0]= index;
ans[1]= index2;
break myloop;
}
sum=0;
}
}
return ans;
}
}
它仅在少数情况下有效,而在少数情况下无效,输出错误。有什么建议吗?
答案 0 :(得分:2)
内循环条件df['C'] = None
不正确,应该为index2 < nums.length - 1
。例如,如果您被给予
index2 < nums.length
您当前的代码
nums = {1, 2, 3, 4} target = 7
将永远不会测试for (index=0; index < nums.length; index++) {
for (int index2 = index + 1 ; index2 < nums.length - 1; index2++) {
...
}
。
为什么所有这些3 + 4
和sum
?
ans