求助Java大佬看看有什么问题
查看原帖
求助Java大佬看看有什么问题
993680
congege楼主2023/9/24 21:31
    public int sumArray2(int[] array) {
        if (array.length == 1) {
            return array[0];
        }

        Arrays.sort(array);
        int ans = 0;
        int idx = array.length - 1;

        while (array[idx] != 0 && array[idx - 1] != 0) {
            ans += array[idx - 1];
            array[idx - 1] = 0;
            array[idx] -= array[idx - 1];
            Arrays.sort(array);
        }

        if (array[idx] != 0) {
            ans += array[idx];
        }
        return ans;
    }


public int sumArray(int[] array) {
        if (array.length == 1) {
            return array[0];
        }

        Arrays.sort(array);
        int ans = 0;
        int idx = array.length - 1;

        int brain = 0;
        while (idx >= 0) {
            if (array[idx] >= brain) {
                ans += brain;
                brain = array[idx] - brain;
            } else {
                brain -= array[idx];
                ans += array[idx];
            }
            array[idx] = 0;
            idx--;
        }

        if (brain != 0) {
            ans += brain;
        }

        return ans;
    }
2023/9/24 21:31
加载中...