मान लीजिए हमारे पास एक मैट्रिक्स है, हमें प्रत्येक कॉलम को आरोही क्रम में क्रमबद्ध करना होगा।
तो, अगर इनपुट पसंद है
11 | <टीडी>21
6 | <टीडी>6
1 | <टीडी>11
तो आउटपुट होगा
1 | <टीडी>6
6 | <टीडी>11
11 | <टीडी>21
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- R:=मैट्रिक्स की पंक्ति गणना, C:=मैट्रिक्स की कॉलम गणना
- res :=दिए गए मैट्रिक्स के समान आकार का मैट्रिक्स और 0 से भरें
- 0 से C के बीच के कॉलोनियों के लिए, करें
- मान :=तत्वों को मैट्रिक्स के वेक्टर के रूप में लें[col]
- 0 से R तक की पंक्ति के लिए, करें
- res[row, col] :=अंतिम तत्व को मानों से हटाएं
- रिटर्न रेस
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class Solution: def solve(self, matrix): R = len(matrix) C = len(matrix[0]) res = [[0] * C for _ in range(R)] for col in range(C): values = [r[col] for r in matrix] values.sort(reverse=True) for row in range(R): res[row][col] = values.pop() return res ob = Solution() matrix = [[11, 21, 31],[6, 6, 4],[1, 11, 8]] print(ob.solve(matrix))
इनपुट
[[11, 21, 31], [6, 6, 4], [1, 11, 8]]
आउटपुट
[[1, 6, 4],[6, 11, 8],[11, 21, 31]]