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

पायथन में परिवर्तन करने के लिए आवश्यक सिक्कों की संख्या खोजने का प्रोग्राम


मान लीजिए हमारे पास विभिन्न मूल्यवर्ग के सिक्के (1,5,10,25) हैं और पैसे की कुल राशि amount है। हमें एक फ़ंक्शन परिभाषित करना है जो उस राशि को बनाने के लिए आवश्यक सबसे कम सिक्कों की संख्या की गणना करे। इसलिए यदि इनपुट 64 है, तो आउटपुट 7 है। यह 25 + 25 + 10 + 1 + 1 + 1 + 1 = 64 का उपयोग करके बनता है।

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

  • यदि amount = 0, तो 0 वापस करें
  • यदि सिक्कों की सरणी का न्यूनतम > amount, तो -1 वापस करें
  • dp नामक एक सरणी परिभाषित करें, आकार amount + 1, और इसे -1 से भरें
  • i के लिए सिक्कों की सरणी में रेंज
    • यदि i > dp की लंबाई - 1, तो अगले भाग को छोड़ें, अगले पुनरावृत्ति के लिए जाएं
    • dp[i] := 1
    • j के लिए i + 1 से amount तक की रेंज
      • यदि dp[j - 1] = -1, तो अगले भाग को छोड़ें, अगले पुनरावृत्ति के लिए जाएं
      • अनथा यदि dp[j] = -1, तो dp[j] := dp[j - i] + 1
      • अन्यथा dp[j] := dp[j] और dp[j - i] + 1 का न्यूनतम
  • dp[amount] वापस करें

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

उदाहरण

class Solution(object):    def coinChange(self, amount):       coins = [1,5,10,25]       if amount == 0 :          return 0       if min(coins) > amount:          return -1       dp = [-1 for i in range(0, amount + 1)]       for i in coins:          if i > len(dp) - 1:             continue          dp[i] = 1          for j in range(i + 1, amount + 1):             if dp[j - i] == -1:                continue             elif dp[j] == -1:                dp[j] = dp[j - i] + 1             else:                dp[j] = min(dp[j], dp[j - i] + 1)       return dp[amount] ob1 = Solution() print(ob1.coinChange(64))

इनपुट

64

आउटपुट

7

  1. Python प्रोग्राम से सूची में सबसे छोटी संख्या खोजना Python प्रोग्राम से सूची में सबसे छोटी संख्या खोजना

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

  1. - Python प्रोग्राम से सूची में दूसरी सबसे बड़ी संख्या खोजना

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

  1. - Python प्रोग्राम से सूची में सबसे बड़ी संख्या खोजना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सूची दी गई है, हमें सूची के सबसे बड़े तत्व की गणना करने की आवश्यकता है। यहां हम समस्या कथन के समाधान तक पहुंचने के लिए अंतर्निहित फ़ंक्शंस की मदद लेंगे। sort() फ़ंक्शन का उपयोग करना उदाहरण # सूची list1 = [23