Variable Sized Arrays

  • + 0 comments

    I came up with the similar solution, just code is a bit more compact

    static int getMoneySpent(int[] keyboards, int[] drives, int b) {
        Arrays.sort(keyboards);
        Arrays.sort(drives);
        int max = - 1, k = 0;
        for (int d = drives.length - 1; d >= 0; d--) {
            for (; k < keyboards.length; k++) {
                int sum = keyboards[k] + drives[d];
                if (sum > b)
                    break;
                max = Math.max(max, sum);
            }
        }
        return max;
    }