Diagonal Difference

Sort by

recency

|

5848 Discussions

|

  • + 0 comments

    PHP:

    function diagonalDifference($arr) {
        $firstArray = [];
        $secondArray = [];
        $i = 0;
        while ($i < count($arr))
        {
            $firstArray[] = $arr[$i][$i];
            $i++;
        }
        
        $i = 0;
        $j = count($arr) - 1;
        while ($i < count($arr))
        {
            $secondArray[] = $arr[$i][$j];
            $i++;
            $j--;
        }
        
       $first = array_sum($firstArray);
       $second = array_sum($secondArray);
    
        return $first > $second ? $first - $second : $second - $first;
    }
    
  • + 0 comments

    golang

    func diagonalDifference(arr [][]int32) int32 {
    	length := len(arr)
    
    	var leftToRightSum int32 = 0
    	var rightToLeftSum int32 = 0
    
    	for x := range length {
    		leftToRightSum += arr[x][x]
    		rightToLeftSum += arr[x][length-1-x]
    	}
    
    	if leftToRightSum > rightToLeftSum {
    		return leftToRightSum - rightToLeftSum
    	}
    
    	return rightToLeftSum - leftToRightSum
    

    }

  • + 0 comments
    def diagonalDifference(arr):
        n = 0
        lr = 0
        rl = 0
        for x in arr:
            lr += x[n]
            n+=1 
        
        for x in arr:
            rl += x[n-1]
            n-=1 
        
        return lr - rl if lr - rl > 0 else (lr - rl) * -1
    
  • + 0 comments

    In Java i have solved in that way , sure there could be a better solution ` public static int diagonalDifference(List> arr) { int rowSize = arr.size();

        int ltrSum = 0;
        int rtlSum = 0;
        for(int i = 0; i < rowSize; i++) {
            ltrSum = ltrSum + arr.get(i).get(i);
            rtlSum = rtlSum + arr.get(i).get(rowSize - (i + 1));
        }
    
        return Math.abs(ltrSum - rtlSum);
    }
    

    }

  • + 0 comments

    For Python3 Platform

    I wrote the code from scratch just to get more practice

    def diagonalDifference(arr):
        lr = rl = 0
        n = len(arr)
        for i in range(n):
            lr += arr[i][i]
            rl += arr[i][n-1-i]
        
        return abs(lr - rl)
    
    n = int(input())
    arr = []
    for _ in range(n):
        arr.append(list(map(int, input().split())))
    
    
    result = diagonalDifference(arr)
    
    print(result)