Diagonal Difference

Sort by

recency

|

681 Discussions

|

  • + 0 comments

    C#

    public static int diagonalDifference(List<List<int>> arr, int size)
        {
            var lsum = 0;
            var rsum = 0;
            
            for (var xl = 0; xl < size; xl++) {
                lsum += arr[xl][xl];
                rsum += arr[xl][size - 1 - xl];
            }
            
            return Math.Abs(lsum - rsum);
        }
    
  • + 0 comments
        a = 0
        b = 0    
        for i in range(n):
            for j in range(n):
                if i == j :
                    a += c[i][j]
                if i+j == n-1 :
                    b += c[i][j]   
        return abs(a-b) 
    
  • + 0 comments
    for i in range(numrows):
        if(i < numcols):
            left_score += arr[i][i]
            right_score += arr[i][(numcols - 1) - (i)]
    
    total_dif = abs(left_score - right_score)
    print(left_score, right_score )
    return total_dif
    
  • + 0 comments

    function diagonalDifference(arr: number[][]): number { const {a, b} = arr.reduce((acc, item, idx, arr) => { acc.a += item[idx] acc.b += item[arr.length - idx - 1] return acc }, {a: 0, b: 0})

    return Math.abs(a - b) }

  • + 0 comments

    GO

    coz this is a square matrix, we can calculate the first and second sums at the same time.

    func diagonalDifference(arr [][]int32) int32 {
        // Write your code here
        size := len(arr[0])-1
        
        sum1, sum2 := int32(0), int32(0)
        
        for i,j :=0, size; i<=size; i,j = i+1, j-1{
            sum1 += arr[i][i]
            sum2 += arr[i][j]
        }
        
        res := sum1 - sum2
        if res > 0{
            return res
        }
        return -res
    }