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

पायथन में अधिकतम सिक्के एकत्र करने का प्रोग्राम


मान लीजिए हमारे पास एक 2D मैट्रिक्स है जहां प्रत्येक सेल कुछ सिक्के संग्रहीत करता है। यदि हम [0,0] से शुरू करते हैं, और केवल दाएं या नीचे जा सकते हैं, तो हमें नीचे-दाएं कोने तक पहुंचने तक एकत्र किए जा सकने वाले अधिकतम सिक्कों की संख्या ढूंढनी है।

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

1422
6005
तो आउटपुट 14 होगा, क्योंकि हम पथ लेते हैं: [1, 4, 2, 2, 5]

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

  • r को 1 से A की पंक्ति संख्या तक के लिए करें:
    • A[r][0] := A[r][0] + A[r-1][0]
  • c को 1 से A[0] की स्तंभ संख्या तक के लिए करें:
    • A[0][c] := A[0][c] + A[0][c-1]
    • r को 1 से A के आकार तक के लिए करें:
      • c को 1 से A[0] के आकार तक के लिए करें:
        • A[r][c] = A[r][c] + max(A[r-1][c], A[r][c-1])
  • A के नीचे-दाएं कोने का मान वापस करें

उदाहरण

class Solution:
    def solve(self, A):
        for r in range(1, len(A)):
            A[r][0] += A[r-1][0]
        for c in range(1, len(A[0])):
            A[0][c] += A[0][c-1]
        for r in range(1, len(A)):
            for c in range(1, len(A[0])):
                A[r][c] += max(A[r-1][c], A[r][c-1])
        return A[-1][-1]
ob = Solution()
matrix = [[1,4,2,2],[6,0,0,5]]
print(ob.solve(matrix))

इनपुट

matrix = [[1,4,2,2],[6,0,0,5]]

आउटपुट

14
  1. - पायथन में संतुलित कोष्ठकों के अधिकतम समूहों की संख्या खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक स्ट्रिंग s है जिसमें संतुलित कोष्ठक ( और ) हैं, हमें उन्हें संतुलित समूहों की अधिकतम संख्या में विभाजित करना है। उदाहरण के लिए, यदि इनपुट (()())()(()) है, तो आउटपुट [(()()), (), (())] होगा। इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे: temp := खाली स्ट्रिंग groups := एक

  1. पायथन में BST में रेंज में नोड्स की संख्या खोजने का प्रोग्राम पायथन में BST में रेंज में नोड्स की संख्या खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक BST है, और हमारे पास बाएं और दाएं बाउंड l और r भी हैं, हमें रूट में उन सभी नोड्स की संख्या गिननी है जिनके मान l और r के बीच हैं (सम्मिलित)। उदाहरण के लिए, यदि इनपुट जैसा है: l = 7, r = 13, तो आउटपुट 3 होगा, क्योंकि तीन नोड्स हैं: 8, 10, 12। इसे हल करने के लिए हम निम्न चरणों

  1. - पायथन प्रोग्राम: तीन नंबर्स में अधिकतम

    तीन नंबर a, b और c दिए गए हैं, हमारा कार्य दिए गए नंबरों में से अधिकतम एलिमेंट ढूंढना है।उदाहरणInput: a = 2, b = 4, c = 3 Output: 4एल्गोरिदमचरण 1: तीन यूजर इनपुट नंबर इनपुट करें। चरण 2: तीन नंबर्स को लिस्ट में जोड़ें। चरण 3: सबसे बड़ी संख्या खोजने के लिए max() फंक्शन का उपयोग करें max(lst)। चरण 4: औ