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

दिए गए मैट्रिक्स में 1 के सबसे बड़े वर्ग का क्षेत्रफल ज्ञात करने का पायथन प्रोग्राम


मान लीजिए हमारे पास एक बाइनरी मैट्रिक्स है, हमें उस दिए गए मैट्रिक्स में 1 के सबसे बड़े वर्ग को ढूंढना है।

उदाहरण के लिए, यदि इनपुट इस तरह है:

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

तो आउटपुट 16 होगा।

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

  • res := 0
  • i को 0 से मैट्रिक्स के आकार तक के लिए, करें
    • res := res और matrix[i, 0] में से अधिकतम
  • i को 0 से matrix[0] के आकार तक के लिए, करें
    • res := res और matrix[0, i] में से अधिकतम
  • i को 1 से मैट्रिक्स की पंक्ति संख्या तक के लिए, करें
    • j को 1 से मैट्रिक्स की स्तंभ संख्या तक के लिए, करें
      • यदि matrix[i, j] 1 के समान है, तो
        • matrix[i, j] = (matrix[i - 1, j], matrix[i - 1, j - 1] और matrix[i, j - 1]) का न्यूनतम + 1
      • res = res और matrix[i, j] में से अधिकतम
  • res^2 लौटाएं

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

उदाहरण

class Solution:
    def solve(self, matrix):
        res = 0
        for i in range(len(matrix)):
            res = max(res, matrix[i][0])
        for i in range(len(matrix[0])):
            res = max(res, matrix[0][i])
        for i in range(1, len(matrix)):
            for j in range(1, len(matrix[0])):
                if matrix[i][j] == 1:
                    matrix[i][j] = min(matrix[i - 1][j], matrix[i - 1][j - 1], matrix[i][j - 1]) + 1
                res = max(res, matrix[i][j])
        return res * res

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

इनपुट

matrix = [
    [1, 0, 0, 0, 0, 1, 1],
    [0, 0, 0, 0, 0, 1, 1],
    [0, 1, 1, 1, 1, 0, 0],
    [0, 1, 1, 1, 1, 0, 0],
    [0, 1, 1, 1, 1, 0, 0],
    [0, 1, 1, 1, 1, 0, 0]
]

आउटपुट

16

  1. पायथन में बहुभुज का क्षेत्रफल खोजने का प्रोग्राम पायथन में बहुभुज का क्षेत्रफल खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक 2D तल पर एक साधारण बहुभुज के अंतिम बिंदुओं को दर्शाने वाले क्रमबद्ध बिंदुओं की सूची है। हमें इस बहुभुज का क्षेत्रफल ढूंढना है।उदाहरण के लिए, यदि इनपुट points = [(0, 0), (0,5), (3, 5), (3,0)] है, तो आउटपुट 15 होगा।समाधान दृष्टिकोणइसे हल करने के लिए हम निम्न चरणों का पालन करेंगे

  1. हिस्टोग्राम के नीचे सबसे बड़े आयत का क्षेत्रफल ज्ञात करने का पायथन प्रोग्राम हिस्टोग्राम के नीचे सबसे बड़े आयत का क्षेत्रफल ज्ञात करने का पायथन प्रोग्राम

    मान लीजिए हमारे पास संख्याओं की एक सूची है जो हिस्टोग्राम में बार की ऊंचाइयों को दर्शाती है। हमें बार के नीचे बनने वाले सबसे बड़े आयत का क्षेत्रफल ढूंढना है। उदाहरण के लिए, यदि इनपुट nums = [3, 2, 5, 7] है, तो आउटपुट 10 होगा। इसे हल करने के लिए, हम निम्न चरणों का पालन करेंगे: stk := एक स्टैक और

  1. पायथन प्रोग्राम: मैट्रिक्स का ट्रांसपोज़ ढूंढें पायथन प्रोग्राम: मैट्रिक्स का ट्रांसपोज़ ढूंढें

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