Java 仅返回[0,0]的TwoSums代码

Java 仅返回[0,0]的TwoSums代码,java,for-loop,if-statement,return,Java,For Loop,If Statement,Return,我正在练习编码问题,我不知道为什么我的代码不起作用(我知道它写得不是很有效:/) 给定一个数组和一个目标数字,返回数组中两个数字的索引,这些数字加起来就是目标数字。示例:nums=[2,7,11,15],target=9 因为nums[0]+nums[1]=2+7=9, 返回[0,1]。(指数必须不同) 类解决方案{ 公共int[]twoSum(int[]nums,int目标){ 对于(int i=0;i

我正在练习编码问题,我不知道为什么我的代码不起作用(我知道它写得不是很有效:/)

给定一个数组和一个目标数字,返回数组中两个数字的索引,这些数字加起来就是目标数字。示例:nums=[2,7,11,15],target=9

因为nums[0]+nums[1]=2+7=9, 返回[0,1]。(指数必须不同)

类解决方案{
公共int[]twoSum(int[]nums,int目标){
对于(int i=0;i如果(nums[i]如您所述,如果两个数字必须不同,则必须在
i+1
中开始迭代
j

public int[] twoSum(int[] nums, int target) {
    for (int i = 0; i < nums.length; i++)
    {
        if (nums[i] <= target)
        {
            for (int j = i + 1; j < nums.length; j++)
            {
                if (nums[i] + nums[j] == target)
                {
                    return new int[]{i, j};
                }
            }
        }
    }
    return new int[]{0,0};
}
public int[]twoSum(int[]nums,int-target){
对于(int i=0;i如果(nums[i]如您所述,如果两个数字必须不同,则必须在
i+1
中开始迭代
j

public int[] twoSum(int[] nums, int target) {
    for (int i = 0; i < nums.length; i++)
    {
        if (nums[i] <= target)
        {
            for (int j = i + 1; j < nums.length; j++)
            {
                if (nums[i] + nums[j] == target)
                {
                    return new int[]{i, j};
                }
            }
        }
    }
    return new int[]{0,0};
}
public int[]twoSum(int[]nums,int-target){
对于(int i=0;i如果(nums[i],指数是否必须不同?对于14的目标,您能否返回[1,1]?是的,索引必须不同。在这种情况下,您可以将第二个循环更改为从
j=i+1
开始。至于您的问题,我看不到代码有任何问题,所以您可以发布您的使用情况吗?即,您如何调用函数。我使用leetcode运行代码,所以我不调用函数-将其修改为j=i+1似乎可以解决问题它!至少我的输出现在与他们的匹配-谢谢!不客气。:)指数必须不同吗?对于14的目标,你能返回[1,1]?是的,索引必须不同。在这种情况下,您可以将第二个循环更改为从
j=i+1
开始。至于您的问题,我看不到代码有任何问题,所以您可以发布您的使用情况吗?即,您如何调用函数。我使用leetcode运行代码,所以我不调用函数-将其修改为j=i+1似乎可以解决问题它!至少现在我的输出与他们的一致-谢谢!不客气。:)