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

प्रत्येक कॉन्डोमिनियम की ऊंचाई के लिए मैट्रिक्स खोजने का कार्यक्रम पायथन में अधिकतम संभव ऊंचाई तक बढ़ाया जाता है?

मान लीजिए हमारे पास एक 2डी मैट्रिक्स है, जहां मैट्रिक्स [आर, सी] एक शहर में एक कॉन्डोमिनियम की ऊंचाई का प्रतिनिधित्व करता है। मैट्रिक्स में प्रत्येक पंक्ति का अधिकतम भाग लेकर पश्चिम-पूर्व क्षितिज दिखाई देता है। और प्रत्येक स्तम्भ का अधिकतम भाग लेकर उत्तर-दक्षिण क्षितिज देखा जा सकता है। हमें एक नया मैट्रिक्स ढूंढना होगा, जहां प्रत्येक कॉन्डोमिनियम की ऊंचाई को अधिकतम संभव ऊंचाई तक बढ़ाया जाए, जबकि पश्चिम-पूर्व और उत्तर-दक्षिण क्षितिज को समान रखा जाए।

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

2 3 4
5 6 7
8 9 10


4 4 4
7 7 7
8 9 10

जैसा कि पश्चिम-पूर्व क्षितिज [4, 7, 10] है और उत्तर-दक्षिण क्षितिज [8, 9, 10] है। हम पहली पंक्ति की हर चीज़ को मान 4 तक और दूसरी पंक्ति की हर चीज़ को बिना स्काईलाइन को बदले मान 7 तक बढ़ा सकते हैं।

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

  • r :=मैट्रिक्स में प्रत्येक पंक्ति की अधिकतम सूची

  • c :=मैट्रिक्स में प्रत्येक कॉलम की अधिकतम सूची

  • मैं के लिए 0 से लेकर मैट्रिक्स की पंक्ति गणना तक, करें

    • j के लिए रेंज 0 से लेकर मैट्रिक्स की कॉलम काउंट तक, करें

      • अगर आर [i] <सी [जे], तो

        • मैट्रिक्स [i, j] :=r[i]

      • अन्यथा,

        • मैट्रिक्स [i, j] :=c[j]

  • रिटर्न मैट्रिक्स

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

उदाहरण

class Solution:
   def solve(self, matrix):
      r = [max(i) for i in matrix]
      c = [max(i) for i in zip(*matrix)]
      for i in range(len(matrix)):
         for j in range(len(matrix[i])):
            if r[i] < c[j]:
               matrix[i][j] = r[i]
            else:
               matrix[i][j] = c[j]
      return matrix

ob = Solution()
matrix = [
   [2, 3, 4],
   [5, 6, 7],
   [8, 9, 10]
]
print(ob.solve(matrix))

इनपुट

[[2, 3, 4],
[5, 6, 7],
[8, 9, 10]]

आउटपुट

[[4, 4, 4], [7, 7, 7], [8, 9, 10]]

  1. पायथन में सभी संभावित वैध पथों से अधिकतम अंक खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास दो सरणियाँ हैं nums1 और nums2। एक वैध पथ निम्नानुसार परिभाषित किया गया है - पार करने के लिए nums1 या nums2 चुनें (इंडेक्स-0 से)। सरणी को बाएँ से दाएँ पार करें। अब, यदि हम nums1 और nums2 में मौजूद किसी भी मान से आगे बढ़ रहे हैं तो हम पथ को अन्य सरणी में बदल सकते हैं। य

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

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

  1. एक सिलेंडर की परिधि का पता लगाने के लिए पायथन कार्यक्रम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे - समस्या कथन - इनपुट व्यास और ऊंचाई, सिलेंडर की परिधि ज्ञात करें परिमाप और कुछ नहीं बल्कि एक बेलन का पार्श्व दृश्य है अर्थात एक आयत इसलिए परिधि=2 * (h + d) यहाँ d बेलन का व्यास है h सिलेंडर की ऊंचाई है आइए अब कार्यान्वयन दे