Created
April 2, 2019 13:34
-
-
Save ankit92ios/bb8258e1e4cfbd03a24810a049554d86 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
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