मान लीजिए हमारे पास एक वर्ग मैट्रिक्स है; हमें मैट्रिक्स के विकर्णों का योग ज्ञात करना है। इसलिए केवल प्राथमिक विकर्ण पर सभी तत्वों का योग और द्वितीयक विकर्ण पर सभी तत्वों को शामिल करें और क्रॉसिंग तत्व को अनदेखा करें।
तो, अगर इनपुट पसंद है
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 1 के समान है, तो
-
रिटर्न मैट्रिक्स[0, 0]
-
-
गिनती :=0
-
मैं के लिए 0 से एम -1 की सीमा में, करो
-
गिनती :=गिनती + मैट्रिक्स[i, i]
-
गिनती :=गिनती + मैट्रिक्स[i, (-1 - i)]
-
-
अगर m विषम है, तो
-
ind :=m/2 का भागफल
-
गिनती:=गिनती - मैट्रिक्स [इंड, इंड]
-
-
वापसी की संख्या
उदाहरण (पायथन)
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
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