मान लीजिए कि हमारे पास एक मैट्रिक्स है, हमें उन पूर्णांकों की कुल संख्या ज्ञात करनी है जिनका मान उसकी पंक्ति और कॉलम में सबसे बड़ा है।
तो, अगर इनपुट पसंद है
1 | 3 | 2 |
4 | 6 | 5 |
1 | 5 | 7 |
तो आउटपुट 2 होगा क्योंकि 6 और 7 मान्य हैं।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
चटाई:=मैट्रिक्स
-
r_maxes :=चटाई की प्रत्येक पंक्ति के अधिकतम तत्वों की सूची बनाएं
-
c_maxes :=चटाई के प्रत्येक स्तंभ के अधिकतम तत्वों की सूची बनाएं
-
a :=एक नई सूची
-
r के लिए 0 से लेकर पंक्तियों की संख्या -1 तक, करें
-
सी के लिए 0 से लेकर स्तंभों की संख्या -1 तक, करें
-
वी:=चटाई [आर, सी]
-
अगर r_maxes[r] v है और c_maxes[c] v है, तो
-
a के अंत में v डालें
-
-
-
-
एक
. का वापसी आकार
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class Solution: def solve(self, matrix): mat = matrix trans_mat = list(zip(*matrix)) print(mat, trans_mat) r_maxes = [max(row) for row in mat] c_maxes = [max(t_row) for t_row in trans_mat] a = [] for r in range(len(mat)): for c in range(len(trans_mat)): v = mat[r][c] if (r_maxes[r], c_maxes[c]) == (v, v): a.append(v) return len(a) ob = Solution() matrix = [ [1, 3, 2], [4, 6, 5], [1, 5, 7] ] print(ob.solve(matrix))
इनपुट
[[1, 3, 2], [4, 6, 5], [1, 5, 7]]
आउटपुट
2