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

पायथन में समान पंक्तियों की अधिकतम संख्या के लिए फ्लिप कॉलम

मान लीजिए कि हमारे पास 0s और 1s से मिलकर एक मैट्रिक्स है, हम मैट्रिक्स में कितने भी कॉलम चुन सकते हैं और उस कॉलम में प्रत्येक सेल को फ्लिप कर सकते हैं। किसी सेल को बदलने से उस सेल का मान 0 से 1 या 1 से 0 में बदल जाता है। हमें उन पंक्तियों की अधिकतम संख्या ज्ञात करनी होगी जिनमें कुछ संख्या में फ़्लिप के बाद सभी मान समान हों। तो अगर मैट्रिक्स की तरह है -

0 0 0
0 0 1
1 1 0

आउटपुट 2 होगा। ऐसा इसलिए है क्योंकि पहले दो कॉलम में मानों को परिवर्तित करने के बाद, अंतिम दो पंक्तियों में समान मान होते हैं।

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

  • x :=मैट्रिक्स, m :=पंक्तियों की संख्या और n :=स्तंभों की संख्या और r :=0
  • x में प्रत्येक तत्व के लिए
    • सी :=0
    • a :=i में सभी तत्वों की एक सूची, l XOR i डालें
    • x में प्रत्येक तत्व j के लिए
      • अगर j =i या j =a, तो c को 1 से बढ़ा दें
    • r :=अधिकतम c और r
  • रिटर्न आर

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

उदाहरण

class Solution(object):
   def maxEqualRowsAfterFlips(self, matrix):
      x = matrix
      m = len(matrix)
      n = len(matrix[0] )
      r =0
      for i in x:
         c=0
         a=[l ^ 1 for l in i]
         for j in x:
            if j== i or j ==a:
               c+=1
         r=max(c, r)
      return r
ob = Solution()
print(ob.maxEqualRowsAfterFlips([[0,0,0],[0,0,1],[1,1,0]]))

इनपुट

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

आउटपुट

2

  1. एक संख्या के भाज्य के लिए पायथन कार्यक्रम

    इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे। समस्या कथन −हमारा कार्य n के भाज्य की गणना करना। एक गैर-ऋणात्मक संख्या का भाज्य − . द्वारा दिया जाता है n! = n*n-1*n-2*n-3*n-4*.................*3*2*1 हमारे पास समस्या के दो संभावित समाधान हैं पुनरावर्ती

  1. एन-वें फाइबोनैचि संख्या के लिए पायथन कार्यक्रम

    इस लेख में, हम nवें फाइबोनैचि संख्या की गणना करेंगे। एक फिबोनाची संख्या नीचे दिए गए पुनरावर्तन संबंध द्वारा परिभाषित किया गया है - Fn = Fn-1 + Fn-2 साथ एफ0 =0 और एफ1 =1. सबसे पहले, कुछ फाइबोनैचि संख्याएं हैं 0,1,1,2,3,5,8,13,.................. हम फाइबोनैचि संख्याओं . की गणना कर सकते हैं रिकर्सन

  1. एनएच कैटलन नंबर के लिए पायथन प्रोग्राम

    इस लेख में, हम nवें कातालान संख्या की गणना के बारे में जानेंगे। कैटलन नंबर प्राकृतिक संख्याओं का एक क्रम है जो पुनरावर्ती सूत्र द्वारा परिभाषित किया जाता है - $$C_{0}=1\:और\:C_{n+1}=\displaystyle\sum\limits_{i=0}^n C_{i}C_{n-i} \:n\geq0;$$ के लिए n =0, 1, 2, 3, … के लिए पहले कुछ कैटलन नंबर 1, 1,