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

पायथन में अधिकतम आइसक्रीम बार खोजने का प्रोग्राम


मान लीजिए हमारे पास costs नामक एक सरणी है जिसमें n तत्व हैं, जहां costs[i] ith आइसक्रीम बार की कीमत सिक्कों में है। हमारे पास शुरू में c सिक्के हैं खर्च करने के लिए, और हम जितना संभव हो उतने आइसक्रीम बार खरीदना चाहते हैं। हमें c सिक्कों से खरीदे जा सकने वाले आइसक्रीम बार की अधिकतम संख्या ढूंढनी है।

उदाहरण के लिए, यदि इनपुट है costs = [3,1,4,5,2], c = 10, तो आउटपुट 4 होगा क्योंकि हम इंडेक्स 0,1,2,4 पर आइसक्रीम बार खरीद सकते हैं जिसकी कुल कीमत 3 + 1 + 4 + 2 = 10 है।

समाधान दृष्टिकोण

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

  • सूची costs को सॉर्ट करें

  • i := 0

  • जब तक i < costs का आकार और c >= costs[i], तब तक

    • c := c - costs[i]

    • i := i+1

  • i लौटाएं

उदाहरण

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

def solve(costs, c):
    costs.sort()
    i=0
    while(i < len(costs) and c >= costs[i]):
        c = c-costs[i]
        i=i+1
    return i

costs = [3,1,4,5,2]
c = 10
print(solve(costs, c))

इनपुट

[3,1,4,5,2], 10

आउटपुट

4
  1. - Python प्रोग्राम - k रिबन की समान लंबाई की अधिकतम लंबाई खोजें

    सकारात्मक संख्याओं की सूची दी गई है जो रिबन की लंबाई दर्शाती है, और एक मान k। हम रिबन को जितनी बार चाहें काट सकते हैं, हमें सबसे बड़ी लंबाई r खोजनी है जिससे हम k रिबन लंबाई r के प्राप्त कर सकें। यदि ऐसा समाधान नहीं मिलता, तो -1 लौटाएं। उदाहरण इनपुट: ribbons = [1, 2, 5, 7, 15], k = 5 आउटपुट: 5 व्याख

  1. - पायथन में ऐरे से दो अलग-अलग एलिमेंट्स का अधिकतम गुणनफल ढूंढने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक संख्याओं की सूची है, हमें दो यूनिक एलिमेंट्स का सबसे बड़ा गुणनफल ढूंढना है। तो, यदि इनपुट nums = [8, -3, 1, -5] है, तो आउटपुट 15 होगा, (-3)*(-5) = 15 जो यहां अधिकतम है। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे: n := nums का आकार nums_sort := सूची nums को सॉर्ट कर

  1. Python में इमारतों की अधिकतम ऊंचाई ज्ञात करें Python में इमारतों की अधिकतम ऊंचाई ज्ञात करें

    n इमारतें एक पंक्ति में (1 से n लेबल)। प्रतिबंध: restrictions[i] = (id, max_height)। नियम: ऊंचाई ≥ 0, पहली इमारत की ऊंचाई = 0, आसन्न इमारतों में ऊंचाई अंतर ≤ 1। अधिकतम संभव ऊंचाई खोजें। एल्गोरिदम: दो पास + शिखर गणना प्रतिबंधों को id द्वारा सॉर्ट करें फॉरवर्ड पास: बाएं से दाएं, प्रत्येक प्रतिबंध को