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

कॉलम इंडेक्स खोजने के लिए प्रोग्राम जहां सबसे ज्यादा 1 छोड़ दिया गया है पाइथन में बाइनरी मैट्रिक्स में मौजूद है?

मान लीजिए कि हमारे पास 2D बाइनरी मैट्रिक्स है। यहां प्रत्येक पंक्ति को आरोही क्रम में क्रमबद्ध किया जाता है, जिसमें 0s 1s से पहले आते हैं, हमें 1 के मान के साथ सबसे बाईं ओर का कॉलम इंडेक्स खोजना होगा। यदि ऐसा कोई परिणाम नहीं है, तो -1 लौटाएं।

तो, अगर इनपुट पसंद है

0 0 0 1
0 0 1 1
0 0 1 1
0 0 1 0

तो आउटपुट 2 होगा, क्योंकि दूसरे कॉलम ने पूरे मैट्रिक्स में सबसे ज्यादा 1 छोड़ा है।

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

  • अगर मैट्रिक्स खाली है, तो

    • वापसी -1

  • N :=मैट्रिक्स की पंक्ति गणना

  • एम:=मैट्रिक्स की कॉलम गिनती

  • मैं:=0, जे:=एम - 1

  • सबसे बाईं ओर :=-1

  • जबकि मैं <एन और जे>=0, करते हैं

    • यदि मैट्रिक्स [i, j] 0 के समान है, तो

      • मैं :=मैं + 1

    • अन्यथा,

      • सबसे बाईं ओर :=j

      • जे:=जे - 1

  • सबसे बाईं ओर लौटें


उदाहरण

class Solution:
   def solve(self, matrix):
      if not matrix or not matrix[0]:
         return -1

      N = len(matrix)
      M = len(matrix[0])

      i = 0
      j = M - 1

      leftmost = -1

      while i < N and j >= 0:
         if matrix[i][j] == 0:
            i += 1
         else:
            leftmost = j
            j -= 1

      return leftmost

ob = Solution()
matrix = [
   [0, 0, 0, 1],
   [0, 0, 1, 1],
   [0, 0, 1, 1],
   [0, 0, 1, 0]
]
print(ob.solve(matrix))

इनपुट

[
[0, 0, 0, 1],
[0, 0, 1, 1],
[0, 0, 1, 1],
[0, 0, 1, 0] ]

आउटपुट

2

  1. पायथन में दिए गए बाइनरी ट्री में एक लिंक्ड सूची मौजूद है या नहीं यह पता लगाने के लिए कार्यक्रम

    मान लीजिए कि हमें एक बाइनरी ट्री दिया गया है जिसमें रूट नोड रूट है और एक लिंक्ड लिस्ट है जिसमें हेड नोड हेड है। हमें यह पता लगाना होगा कि क्या वह लिंक्ड सूची उस बाइनरी ट्री में मौजूद है। यदि पेड़ में नोड्स के एक सेट में लिंक की गई सूची के रूप में एक दूसरे के साथ लिंक हैं, और यदि वह क्रम प्रदान की गई

  1. पायथन में एक बाइनरी ट्री पर k-लंबाई पथ खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक बाइनरी ट्री है जिसमें अद्वितीय मान हैं और हमारे पास एक और मान k भी है, तो हमें ट्री में k-लंबाई वाले अद्वितीय पथों की संख्या ज्ञात करनी होगी। रास्ते माता-पिता से बच्चे तक या बच्चे से माता-पिता तक जा सकते हैं। हम दो रास्तों पर विचार करेंगे जब एक पथ में कुछ नोड दिखाई देते हैं

  1. एक मैट्रिक्स के स्थानान्तरण को खोजने के लिए पायथन कार्यक्रम

    इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे। समस्या कथन एक मैट्रिक्स को देखते हुए, हमें उसी मैट्रिक्स में ट्रांसपोज़ को स्टोर करना होगा और उसे प्रदर्शित करना होगा। पंक्तियों को कॉलम और कॉलम को पंक्तियों में बदलकर मैट्रिक्स का स्थानांतरण प्राप्त किया ज