Diagonal Difference

Sort by

recency

|

5835 Discussions

|

  • + 0 comments

    This is my code using C: int diagonalDifference(int arr_rows, int arr_columns, int** arr) { int x = 0; int y = 0; for (int i = 0; i < arr_rows; i ++) { x += arr[i][i]; y += arr[arr_rows - i - 1][i]; }
    return abs(x-y); }

    Can some one explain why it is not possible to let int N = arr_rows?

  • + 0 comments

    O(n) typescript solution

    function diagonalDifference(arr: number[][]): number {
        // Write your code here
        let primarySum:number = 0;
        let secoundarySum:number = 0;
        
        for(let i=0; i<arr.length; i++) {
            let lastIndex:number = arr[i].length - 1;
            primarySum += arr[i][i];
            secoundarySum += arr[i][lastIndex - i];
        }
        
        return Math.abs(primarySum - secoundarySum);
    }
    
  • + 0 comments
    function diagonalDifference(arr) {
        const n = arr.length;
        
        const primaryDiagonalSum = arr.reduce((sum, row, i) => sum + row[i], 0);
        const secondaryDiagonalSum = arr.reduce((sum, row, i) => sum + row[n - 1 - i], 0);
        
        return Math.abs(primaryDiagonalSum - secondaryDiagonalSum);
    }
    
  • + 0 comments
    int diagonalDifference(vector<vector<int>> arr) {
        int s1 = 0; int s2 = 0;
        for (int i=0;i<arr.size();i++){
            for (int j=0;j<arr.size();j++){
                cin >> arr[i][j];
                if (i==j) s1+= arr[i][j];
                if (i+j==arr.size()-1) s2 += arr[i][j];
            }
        }
        return abs(s1-s2);
    }
    
  • + 0 comments
    n=len(arr)
    left_diagonal=[arr[i][i] for i in range(n)]
    right_diagonal=[arr[i][n-1-i] for i in range(n)]
    sum_left=sum(left_diagonal)
    sum_right=sum(right_diagonal)
    
    diff_diagonal=abs(sum_left-sum_right)
    return diff_diagonal