Skip to the content.

CSA FRQ

frq

Part A)

public static int arraySum(int[] arr) {
    int result = 0;
    for(int i = 0; i < arr.length; i++)
    {
        result += arr[i];
    }
    return result;
}

int[] array = {1, 2, 3, 4, 5};
System.out.println(arraySum(array));

Output: 15

Part B)

public static int arraySum(int[] arr) {
    int result = 0;
    for(int i = 0; i < arr.length; i++)
    {
        result += arr[i];
    }
    return result;
}

public static int[] array2DSum(int[][] arr2d) {
    int[] sum = new int[arr2d.length];
    for(int r = 0; r < arr2d.length; r++) {
        sum[r] += arraySum(arr2d[r]);
    }
    return sum;
}

int[][] arr2d = {
    {1, 3, 3, 7, 3},
    {10, 10, 4, 6, 2},
    {5, 3, 5, 9, 6},
    {7, 6, 4, 2, 1}
};
int[] result = array2DSum(arr2d);
System.out.println(Arrays.toString(result));

Part C)

public static int arraySum(int[] arr) {
    int result = 0;
    for(int i = 0; i < arr.length; i++)
    {
        result += arr[i];
    }
    return result;
}

public static int[] array2DSum(int[][] arr2d) {
    int[] sum = new int[arr2d.length];
    for(int r = 0; r < arr2d.length; r++) {
        sum[r] += arraySum(arr2d[r]);
    }
    return sum;
}

public static boolean isDiverse(int[][] arr2d) {
    int[] sumRow = array2DSum(arr2d);
    for(int i = 0; i < sumRow.length; i++) {
        for(int j = i + 1; j < sumRow.length; j++) {
            if(sumRow[i] == sumRow[j]) {
                return false;
            }
        }
    }
    return true;
}

int[][] arr2d = {
    {1, 3, 3, 7, 3},
    {10, 10, 4, 6, 2},
    {5, 3, 5, 9, 6},
    {7, 6, 4, 2, 1}
};
System.out.println(isDiverse(arr2d));

Final code

public static int arraySum(int[] arr) {
    int result = 0;
    for(int i = 0; i < arr.length; i++)
    {
        result += arr[i];
    }
    return result;
}

public static int[] array2DSum(int[][] arr2d) {
    int[] sum = new int[arr2d.length];
    for(int r = 0; r < arr2d.length; r++) {
        sum[r] += arraySum(arr2d[r]);
    }
    return sum;
}

public static boolean isDiverse(int[][] arr2d) {
    int[] sumRow = array2DSum(arr2d);
    for(int i = 0; i < sumRow.length; i++) {
        for(int j = i + 1; j < sumRow.length; j++) {
            if(sumRow[i] == sumRow[j]) {
                return false;
            }
        }
    }
    return true;
}

int[][] arr2d = {
    {1, 3, 3, 7, 3},
    {10, 10, 4, 6, 2},
    {5, 3, 5, 9, 6},
    {7, 6, 4, 2, 1}
};
System.out.println(arraySum(array));
int[] result = array2DSum(arr2d);
System.out.println(Arrays.toString(result));
System.out.println(isDiverse(arr2d));