Contents

Diagonalizing a Two-Dimensional Array (with.Java)

   Dec 10, 2023     1 min read

This is the “Diagonalize a two-dimensional array” problem.

We’re going to look at it as a coding test problem, provide a retrospective on how we solved it, and explore other ways to solve it.

Let’s start with the problem

Problem

Given a two-dimensional integer array board and an integer k.

Complete a solution function that returns the sum of board[i][j] for all (i, j) satisfying i + j <= k.

Example input and output

boardkresult
[[0, 1, 2],[1, 2, 3],[2, 3, 4],[3, 4, 5]]28

My solution to the ### problem

class Solution {
    public int solution(int[][] board, int k) {
        int answer = 0;
        for(int i = 0; i < board.length; i++){
            for(int j = 0; j < board[i].length; j++){
                if(i + j <= k){
                    answer += board[i][j];
                }
            }
        }
    } return answer;
}


solution description

int answer = 0;: Initialize the variable answer to store the resulting value.

Traverse the two-dimensional array board using a nested loop. The outer loop refers to row (i) and the inner loop refers to column (j).

if(i + j <= k) : if i + j, the sum of the current row and column, is k or less:

Add the elements board[i][j] at the current position to the answer.

After checking all the elements, return the value of answer.

This code implements an algorithm to calculate the sum of the elements in a two-dimensional array that satisfy certain conditions, based on the given conditions.