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

पायथन में प्रत्येक पंक्ति तत्वों को फ़्लिप करके अधिकतम योग खोजने का कार्यक्रम

मान लीजिए कि हमारे पास 2D बाइनरी मैट्रिक्स है। दिए गए मैट्रिक्स में किसी भी पंक्ति या कॉलम के लिए हम सभी बिट्स को फ्लिप कर सकते हैं। यदि हम इनमें से किसी भी संख्या को निष्पादित कर सकते हैं, और यह कि हम प्रत्येक पंक्ति को एक द्विआधारी संख्या के रूप में मानते हैं, तो हमें सबसे बड़ा योग ज्ञात करना होगा जो इन संख्याओं से बना हो सकता है।

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

0 1 0
0 0 1

तो आउटपुट 11 होगा, जैसे कि हम दोनों पंक्तियों को फ्लिप करते हैं तो हमें 101 और 110 मिलते हैं, तो योग 5 + 6 =11

है

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

  • मैट्रिक्स में प्रत्येक पंक्ति r के लिए, करें
    • यदि r[0] 0 के समान है, तो
      • i के लिए 0 से लेकर r के आकार तक के लिए, करें
        • r[i] :=-r[i] + 1
  • जे के लिए श्रेणी 1 से मैट्रिक्स के कॉलम आकार में, करें
    • सीएनटी:=0
    • मैं श्रेणी में 0 से मैट्रिक्स की पंक्ति गणना के लिए, करते हैं
      • cnt:=cnt + 1 अगर मैट्रिक्स [i, j] 1 है अन्यथा -1
    • यदि cnt <0, तो
      • मैं के लिए 0 से लेकर पंक्ति आकार के मैट्रिक्स के लिए, करते हैं
        • मैट्रिक्स[i, j] :=-matrix[i, j] + 1
  • उत्तर:=0
  • मैट्रिक्स में प्रत्येक पंक्ति r के लिए, करें
    • a :=0
    • आर में प्रत्येक वी के लिए, करें
      • a :=2 * a + v
    • उत्तर:=उत्तर + ए
  • वापसी उत्तर

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

उदाहरण

class Solution:
   def solve(self, matrix):
      for r in matrix:
         if r[0] == 0:
            for i in range(len(r)):
               r[i] = -r[i] + 1
      for j in range(1, len(matrix[0])):
         cnt = 0
         for i in range(len(matrix)):
            cnt += 1 if matrix[i][j] else -1
            if cnt < 0:
               for i in range(len(matrix)):
                  matrix[i][j] = -matrix[i][j] + 1
      ans = 0
      for r in matrix:
         a = 0
         for v in r:
            a = 2 * a + v
            ans += a
      return ans
ob = Solution()
matrix = [ [0, 1, 0], [0, 0, 1] ]
print(ob.solve(matrix))

इनपुट

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

आउटपुट

11

  1. पायथन में एक पेड़ के सभी तत्वों का योग खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक बाइनरी ट्री है जिसमें कुछ मान हैं, हमें ट्री के सभी मानों का योग ज्ञात करना है। तो, अगर इनपुट पसंद है तो आउटपुट 14 . होगा इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - फ़ंक्शन रिकर्स () को परिभाषित करें। यह नोड लेगा वैल:=नोड का मान यदि नोड का बायां भाग शून्

  1. पायथन में एक बाइनरी ट्री में प्रत्येक विकर्ण पथ तत्वों का योग खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक बाइनरी ट्री है, हमें ऊपर से नीचे दाईं ओर से शुरू होने वाले पेड़ के प्रत्येक विकर्ण का योग ज्ञात करना है। तो, अगर इनपुट पसंद है तब आउटपुट [27, 18, 3] होगा क्योंकि विकर्ण [12,15], [8,10], [3] हैं। तो योग मान हैं [27, 18, 3] इसे हल करने के लिए, हम इन चरणों का पालन करेंगे

  1. सूची में तत्वों का योग खोजने के लिए पायथन कार्यक्रम

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