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

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

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

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

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

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

उदाहरण

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. सूची में सबसे छोटी संख्या खोजने के लिए पायथन प्रोग्राम

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

  1. सूची में दूसरी सबसे बड़ी संख्या खोजने के लिए पायथन प्रोग्राम

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

  1. एक सूची में सबसे बड़ी संख्या खोजने के लिए पायथन कार्यक्रम

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