मान लीजिए हमारे पास एक वर्ग मैट्रिक्स है; हमें मैट्रिक्स के विकर्णों का योग ढूंढना है। इसलिए केवल प्राथमिक विकर्ण के सभी तत्वों का योग और द्वितीयक विकर्ण के सभी तत्वों का योग शामिल करें और क्रॉसिंग तत्व को अनदेखा करें।
इसलिए, यदि इनपुट है:
| 10 | 5 | 9 | 6 |
| 8 | 15 | 3 | 2 |
| 3 | 8 | 12 | 3 |
| 2 | 11 | 7 | 3 |
तो आउटपुट होगा: प्राथमिक विकर्ण तत्व [10,15,12,3] हैं जिनका योग 40 है, द्वितीयक विकर्ण [6,3,8,2] है जिसका योग 19 है, इसलिए कुल योग 59।
हल करने के चरण
- m := मैट्रिक्स की पंक्ति संख्या
- यदि m == 1, तो matrix[0][0] वापस करें
- count := 0
- i को 0 से m - 1 तक के लिए:
- count := count + matrix[i][i]
- count := count + matrix[i][-1 - i]
- यदि m विषम है:
- ind := m // 2 का भागफल
- count := count - matrix[ind][ind]
- count वापस करें
उदाहरण (Python)
def solve(matrix):
m = len(matrix)
if m == 1:
return matrix[0][0]
count = 0
for i in range(m):
count += matrix[i][i]
count += matrix[i][-1 - i]
if m % 2 == 1:
count -= matrix[m // 2][m // 2]
return count
matrix = [[10,5,9,6],[8,15,3,2],[3,8,12,3],[2,11,7,3]]
print(solve(matrix))
इनपुट
[[10,5,9,6],[8,15,3,2],[3,8,12,3],[2,11,7,3]]
आउटपुट
59