关于#leentcode#的问题,如何解决?(Java)

img

应该怎么编写,道理都懂,就是不知道该怎么敲,想用Java实现

public class Test {
    public static void main(String[] args) {
        int[] nums={2,7,11,15};
        int a=9;
        for (int i = 0; i < nums.length; i++) {
            for (int j = i; j < nums.length ; j++) {

                if (a==nums[i]+nums[j]){
                    int[] bb={i,j};
                    System.out.println(Arrays.toString(bb));
                }
            }
        }
    }
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632
class Solution {
    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[i] + nums[j] == target) {
                    return new int[] {i, j};
                }
            }
        }
        return new int[] {};
    }
}

public static void main(String[] args) {
        int[] nums = {1, 2, 3, 5, 7, 4};
        int target = 8;
        int point[] = getPoint(nums, target);
        for (int p : point) {
            System.out.print(p);
            System.out.print("\t");
        }
    }

    public static int[] getPoint(int[] nums, int target) {
        int[] point = new int[2];
        int length = nums.length;
        a:for (int i = 0; i < length; i++) {
            int temp = nums[i];
            int j = 1;
            for (; j < nums.length; j++) {
                if (target - temp == nums[j]) {
                    point[0] = i;
                    point[1] = j;
                    break a;
                }
            }
        }
        return point;
    }