Skip to content

Instantly share code, notes, and snippets.

@ankit92ios
Created April 2, 2019 13:34
Show Gist options
  • Save ankit92ios/bb8258e1e4cfbd03a24810a049554d86 to your computer and use it in GitHub Desktop.
Save ankit92ios/bb8258e1e4cfbd03a24810a049554d86 to your computer and use it in GitHub Desktop.
/*
Diagonal Difference
Given a square matrix, calculate the absolute difference between the sums of its diagonals.
For example, the square matrix is shown below:
1 2 3
4 5 6
9 8 9
The left-to-right diagonal = . The right to left diagonal = . Their absolute difference is .
Function description
Complete the function in the editor below. It must return an integer representing the absolute diagonal difference.
diagonalDifference takes the following parameter:
arr: an array of integers .
Input Format
The first line contains a single integer, , the number of rows and columns in the matrix .
Each of the next lines describes a row, , and consists of space-separated integers .
Constraints
Output Format
Print the absolute difference between the sums of the matrix's two diagonals as a single integer.
Sample Input
3
11 2 4
4 5 6
10 8 -12
Sample Output
15
Explanation
The primary diagonal is:
11
5
-12
Sum across the primary diagonal: 11 + 5 - 12 = 4
The secondary diagonal is:
4
5
10
Sum across the secondary diagonal: 4 + 5 + 10 = 19
Difference: |4 - 19| = 15
Note: |x| is the absolute value of x
*/
import UIKit
import Foundation
func diagonalDifference(arr: [[Int]]) -> Int {
var sumD1 : Int = 0
var sumD2 = 0
for i in 0..<arr.count{
sumD1 = sumD1 + arr[i][i]
sumD2 = sumD2 + arr[arr.count - i - 1][i]
}
print(sumD1)
return abs(sumD1 - sumD2)
}
diagonalDifference(arr: [[11,2, 4],[4,5, 6],[10, 8, -12]])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment