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

Python प्रोग्राम - दी गई ऑपरेशन से सूची को कम करके सबसे छोटी शेष संख्या खोजें

सकारात्मक संख्याओं की सूची nums दी गई है। एक ऑपरेशन पर विचार करें जहां हम किन्हीं दो मान a और b को हटाते हैं जहां a <= b और यदि a < b मान्य है, तो b - a को वापस सूची nums में डालते हैं। यदि हम कोई भी संख्या में ऑपरेशन कर सकते हैं, तो हमें सबसे छोटी शेष संख्या खोजनी है जो हम प्राप्त कर सकते हैं। यदि सूची खाली हो जाती है, तो 0 लौटाएं।

उदाहरण

इनपुट: nums = [2, 4, 5]

आउटपुट: 1

व्याख्या: हम 4 और 5 चुन सकते हैं फिर 1 वापस डालकर [2, 1] प्राप्त करें। अब 2 और 1 चुनकर [1] प्राप्त करें।

एल्गोरिदम (रिकर्सिव - सबसेट सम समस्या)

  1. s := sum(nums)
  2. f(i, s) फंक्शन परिभाषित करें:
    • यदि i >= len(nums): s लौटाएं
    • n := nums[i]
    • यदि s - 2 * n < 0: f(i + 1, s) लौटाएं
    • min(f(i + 1, s - 2 * n), f(i + 1, s)) लौटाएं
  3. मुख्य विधि से f(0, s) लौटाएं

Python कार्यान्वयन

def solve(nums):
    s = sum(nums)
    def f(i, s):
        if i >= len(nums):
            return s
        n = nums[i]
        if s - 2 * n < 0:
            return f(i + 1, s)
        return min(f(i + 1, s - 2 * n), f(i + 1, s))
    return f(0, s)

nums = [2, 4, 5]
print(solve(nums))  # आउटपुट: 1

इनपुट/आउटपुट

Input: [2, 4, 5]
Output: 1

नोट: यह समस्या सबसेट सम समस्या के बराबर है। हम दो सबसेट में विभाजित करने की कोशिश कर रहे हैं जिनका अंतर न्यूनतम हो।

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

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

  1. - पायथन प्रोग्राम: लिस्ट में सबसे बड़ा, सबसे छोटा, दूसरा सबसे बड़ा, और दूसरा सबसे छोटा ढूंढना

    ऐरे दिया गया है, हमें अधिकतम, न्यूनतम, दूसरा सबसे बड़ा, दूसरा सबसे छोटा नंबर ढूंढना है।एल्गोरिदमचरण 1: लिस्ट एलिमेंट इनपुट करें। चरण 2: हम एक नंबर लेते हैं और इसकी तुलना लिस्ट में मौजूद सभी अन्य नंबर्स से करते हैं। चरण 3: अधिकतम, न्यूनतम, दूसरा सबसे बड़ा, दूसरा सबसे छोटा नंबर प्राप्त करें।उदाहरण कोड

  1. - दिए गए रेंज में रैंडम नंबर उत्पन्न करके सूची में संग्रहीत करने का पायथन प्रोग्राम

    समस्या विवरण यहां 3 यूजर इनपुट वेरिएबल का उपयोग किया जाता है, एक प्रारंभिक संख्या के लिए, दूसरा अंतिम संख्या के लिए और अंतिम वह कितनी रैंडम संख्या प्रदर्शित करना चाहता है। पायथन रैंडम नंबर उत्पन्न करने के लिए एक रैंडम मॉड्यूल प्रदान करता है। यहां हम रैंडम फंक्शन के साथ randint फंक्शन का उपयोग करते ह