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

पायथन में एक 2D मैट्रिक्स II खोजें

मान लीजिए हमारे पास एक m x n आव्यूह है। हमें एक कुशल एल्गोरिदम लिखना है जो उस मैट्रिक्स में एक मूल्य की खोज करता है। इस मैट्रिक्स में निम्नलिखित गुण हैं -

  • प्रत्येक पंक्ति में पूर्णांकों को बाएं से दाएं आरोही क्रम में क्रमबद्ध किया जाता है।
  • प्रत्येक कॉलम में पूर्णांकों को ऊपर से नीचे की ओर बढ़ते क्रम में क्रमबद्ध किया जाता है।

तो अगर मैट्रिक्स की तरह है -

1 4 7 11 15
2 5 8 12 19
3 6 9 16 22
10 13 14 17 24
18 21 23 26 30

यदि लक्ष्य 5 है, तो सही लौटें, यदि लक्ष्य 20 है, तो झूठी वापसी करें

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • लेन:=स्तंभों की संख्या, c1:=0, c2:=लेन – 1
  • जबकि सच
    • यदि मैट्रिक्स [c1, c2] =लक्ष्य है, तो सही लौटें
    • अन्यथा यदि मैट्रिक्स[c1, c2]> लक्ष्य, तो c2 :=c2 – 1, जारी रखें
    • c1 :=c1 + 1
    • यदि c1>=पंक्ति गणना या c2 <0, तो झूठी वापसी करें
    • झूठी वापसी

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

उदाहरण

class Solution:
   def searchMatrix(self, matrix, target):
      try:
         length = len(matrix[0])
         counter1, counter2 = 0, length-1
         while True:
            if matrix[counter1][counter2] == target:
               return True
            elif matrix[counter1][counter2]>target:
               counter2-=1
               continue
            counter1 = counter1 + 1
            if counter1 >= len(matrix) or counter2<0:
               return False
         except:
            return False
ob1 = Solution()
print(ob1.searchMatrix([[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], 5))

इनपुट

[[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]]
5

आउटपुट

True

  1. पायथन में बाइनरी सर्च (द्विभाजित)

    यहां हम पायथन में द्विभाजित देखेंगे। द्विभाजक का उपयोग बाइनरी खोज के लिए किया जाता है। बाइनरी सर्च तकनीक का उपयोग क्रमबद्ध सूची में तत्वों को खोजने के लिए किया जाता है। द्विभाजित एक पुस्तकालय कार्य है। हम पायथन में द्विभाजित का उपयोग करते हुए तीन अलग-अलग कार्य देखेंगे। किसी तत्व की पहली घटना का पता

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

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

  1. पायथन में एक मैट्रिक्स को स्थानांतरित करें?

    एक मैट्रिक्स को स्थानांतरित करने का मतलब है कि हम इसके कॉलम को इसकी पंक्तियों में बदल रहे हैं। आइए इसे एक उदाहरण से समझते हैं कि अगर ट्रांसपोज़ के बाद कैसा दिखता है। मान लें कि आपके पास मूल मैट्रिक्स कुछ इस तरह है - x = [[1,2][3,4][5,6]] उपरोक्त मैट्रिक्स x में हमारे पास दो कॉलम हैं, जिनमें 1, 3,