मान लीजिए हमारे पास एक (n by n) मैट्रिक्स M है, हमें इसका ट्रांसपोज ढूंढना है। जैसा कि हम जानते हैं, मैट्रिक्स का ट्रांसपोज पंक्ति और स्तंभ सूचकांकों को बदल देता है। अधिक औपचारिक रूप से, हर r और c के लिए, matrix[r][c] = matrix[c][r]।
उदाहरण के लिए, यदि इनपुट है
| 7 | 2 | 6 |
| 3 | 7 | 2 |
| 5 | 3 | 7 |
तो आउटपुट होगा
| 7 | 3 | 5 |
| 2 | 7 | 3 |
| 6 | 2 | 7 |
इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:
- M := एक नई सूची
- tracker := 0
- जब तक tracker < मैट्रिक्स की पंक्ति संख्या, करें
- temp := एक नई सूची
- मैट्रिक्स में प्रत्येक पंक्ति के लिए, करें
- temp := temp को [row[tracker]] तत्व वाली सूची के साथ जोड़ें
- M := M को temp तत्व वाली सूची के साथ जोड़ें
- tracker := tracker + 1
- M वापस करें
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
उदाहरण
class Solution: def solve(self, matrix): M = [] tracker = 0 while tracker < len(matrix): temp = [] for row in matrix: temp += [row[tracker]] M += [temp] tracker += 1 return M ob = Solution() matrix = [ [7, 2, 6], [3, 7, 2], [5, 3, 7] ] print(ob.solve(matrix))
इनपुट
[[7, 2, 6], [3, 7, 2], [5, 3, 7]]
आउटपुट
[[7, 3, 5], [2, 7, 3],[6, 2, 7]]