Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में मैट्रिक्स घुमाएं (Rotate Matrix)


मान लीजिए हमारे पास एक n x n 2D मैट्रिक्स है। हमें इस मैट्रिक्स को 90 डिग्री घड़ी की दिशा में घुमाना है।

यदि मैट्रिक्स है: [[1, 5, 7], [9, 6, 3], [2, 1, 3]] तो आउटपुट होगा: [[2, 9, 1], [1, 6, 5], [3, 3, 7]]

हल करने का तरीका

  1. temp_matrix := [], column := मैट्रिक्स की लंबाई - 1
  2. प्रत्येक कॉलम के लिए:
    • temp := []
    • पंक्तियों को नीचे से ऊपर तक पार करें और मैट्रिक्स[row][column] को temp में जोड़ें
    • temp को temp_matrix में जोड़ें
  3. मूल मैट्रिक्स को temp_matrix से अपडेट करें

उदाहरण कोड (पायथन)

class Solution(object):
    def rotate(self, matrix):
        temp_matrix = []
        column = len(matrix) - 1
        for column in range(len(matrix)):
            temp = []
            for row in range(len(matrix) - 1, -1, -1):
                temp.append(matrix[row][column])
            temp_matrix.append(temp)
        for i in range(len(matrix)):
            for j in range(len(matrix)):
                matrix[i][j] = temp_matrix[i][j]
        return matrix

ob1 = Solution()
print(ob1.rotate([[1, 5, 7], [9, 6, 3], [2, 1, 3]]))

इनपुट

[[1, 5, 7], [9, 6, 3], [2, 1, 3]]

आउटपुट

[[2, 9, 1], [1, 6, 5], [3, 3, 7]]
  1. - पायथन में मैट्रिक्स आरंभ करना

    इस लेख में, हम सीखेंगे कि पायथन 3.x (या पूर्व संस्करणों) में दो-आयामी सूची का उपयोग करके मैट्रिक्स को कैसे आरंभ किया जा सकता है। आइए मैट्रिक्स को आरंभ करने के सहज तरीके को देखें जो केवल पायथन भाषा प्रदान करती है। यहाँ हम सूची समझ का लाभ उठाते हैं। हम आंतरिक सूची को आरंभ करते हैं और फिर सूची समझ का

  1. - पायथन में मैट्रिक्स ट्रांसपोज़

    मैट्रिक्स ट्रांसपोज़ का अर्थ है पंक्तियों को कॉलम और कॉलम को पंक्तियों में बदलना। उदाहरण # मूल मैट्रिक्स (3x2) x = [[1, 2], [3, 4], [5, 6]] # ट्रांसपोज़ (2x3) x1 = [[1, 3, 5], [2, 4, 6]] विधि 1: नेस्टेड लूप (क्लासिक) x = [[1, 2], [3, 4], [5, 6]] rows = len(x) cols = len(x[0]) res

  1. - पायथन में स्ट्रिंग स्लाइसिंग से स्ट्रिंग रोटेट करना

    एक स्ट्रिंग दी गई है, हमारा कार्य स्ट्रिंग को दो तरह से स्लाइस करना है। एक क्लॉकवाइज और दूसरा एंटीक्लॉकवाइज।1. लेफ्ट (या एंटीक्लॉकवाइज) दी गई स्ट्रिंग को d एलिमेंट्स द्वारा रोटेट करें (जहां d <= n)।2. राइट (या क्लॉकवाइज) दी गई स्ट्रिंग को d एलिमेंट्स द्वारा रोटेट करें (जहां d <= n)।उदाहरणInput: stri