在整数数组中找到两个元素的总和并返回两个元素的第一个匹配项的索引,对某些元素有效,而对少数元素无效

时间:2019-06-07 14:35:54

标签: java arrays for-loop

我有一个问题,我们必须遍历数组并找到两个具有任意给定值的匹配元素的索引。

我正在嵌套嵌套遍历数组,并并行检查两个元素的和并返回两个元素的索引(如果它们与答案匹配)

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;
    }
}

它仅在少数情况下有效,而在少数情况下无效,输出错误。有什么建议吗?

1 个答案:

答案 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 + 4sum

ans