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

Python में सभी ऐरे तत्वों को बराबर बनाने के लिए आवश्यक ऑपरेशंस की संख्या

हमें तत्वों का एक ऐरे दिया गया है, और हमें उन सभी को 1 से बढ़ाकर बराबर बनाना है। हमें प्रत्येक चरण में n - 1 तत्व बढ़ाने की अनुमति है। हमारा लक्ष्य सभी ऐरे तत्वों को बराबर बनाने के लिए आवश्यक कुल ऑपरेशंस की संख्या की गणना करना है।

उदाहरण के लिए, यदि आप सूची [1, 2, 3] लेते हैं, तो सभी तत्वों को बराबर बनाने में तीन ऑपरेशन लगे। एक समाधान है। प्रत्येक चरण में सबसे बड़ी संख्या खोजें और बाकी तत्वों को 1 से बढ़ाएं। आइए कोड लिखें।

उदाहरण

def main():
    # ऐरे इनिशियलाइज़ करना
    arr = [1, 2, 3]
    # ऑपरेशंस काउंट को 0 से इनिशियलाइज़ करना
    no_of_operations = 0
    flag = 0
    # ऐरे पर ऑपरेशन करना ताकि वे बराबर हो जाएं
    while not are_equal(arr):
        flag = 1
        # सूची से अधिकतम खोजना
        maximum = max(arr)
        # अधिकतम को छोड़कर सभी तत्वों को बढ़ाना
        for i in range(len(arr)):
            if arr[i] != maximum:
                arr[i] += 1
        # ऑपरेशंस काउंट को 1 से बढ़ाना
        no_of_operations += 1
    print(no_of_operations) if flag == 0 else print(no_of_operations + 1)

# जांचना कि सभी तत्व बराबर हैं या नहीं
def are_equal(arr):
    global no_of_operations
    for i in range(len(arr) - 1):
        if arr[i] != arr[i + 1]:
            return False
    return True

if __name__ == '__main__':
    main()

आउटपुट

यदि आप उपरोक्त प्रोग्राम चलाते हैं, तो आपको निम्न परिणाम मिलेंगे।

3

उपरोक्त विधि बड़े ऐरे के लिए गणना में अधिक समय लेती है। हम ऐरे के योग और सबसे छोटे तत्व को खोजकर ऑपरेशंस की संख्या पता लगा सकते हैं।

  • ऐरे का योग खोजें।
  • ऐरे में सभी तत्वों में सबसे छोटा खोजें।
  • अभिव्यक्ति sum - (length - smallest) से प्राप्त मान प्रिंट करें।

उदाहरण

नीचे कोड देखें।

# एक ऐरे इनिशियलाइज़ करना
arr = [1, 2, 3]

# लंबाई
length = len(arr)

# ऐरे तत्वों का योग
elements_sum = sum(arr)

# सभी तत्वों में सबसे छोटा
smallest = min(arr)

# ऑपरेशंस की संख्या की गणना करना
print(elements_sum - (length * smallest))

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम मिलेंगे।

3

निष्कर्ष

हमने जिस दूसरी विधि पर चर्चा की, वह आसान है और पहली विधि की तुलना में कम समय लेती है। यदि ट्यूटोरियल में आपको कोई संदेह है, तो उन्हें कमेंट सेक्शन में बताएं।

  1. - पायथन में ऐरे को जिगजैग बनाने के लिए एलिमेंट्स घटाएं

    मान लीजिए हमारे पास पूर्णांकों का एक ऐरे nums है, एक मूव ऑपरेशन वास्तव में किसी भी एलिमेंट को चुनना और इसे 1 से घटाना है। एक ऐरे A एक जिगजैग ऐरे है यदि या तो 1 या 2 संतुष्ट होता है - A[1] A[3] ... और इसी तरह।प्रत्येक ऑड-इंडेक्स्ड एलिमेंट आसन्न एलिमेंट्स से बड़ा है, इसलिए A[0] A[2] A[4] < ... और

  1. - पायथन में ऐरे के सभी एलिमेंट्स की फ्रीक्वेंसी गिनें

    इस ट्यूटोरियल में, हम एक प्रोग्राम लिखेंगे जो ऐरे में सभी एलिमेंट्स की फ्रीक्वेंसी ढूंढता है। हम इसे अलग-अलग तरीकों से कर सकते हैं, आइए उनमें से दो का पता लगाते हैं। डिक्शनरी का उपयोग करना ऐरे इनिशियलाइज़ करें। एक खाली डिक्शनरी इनिशियलाइज़ करें। लिस्ट पर पुनरावृति करें। यदि एलिमेंट डिक्शनरी में नह

  1. पायथन प्रोग्राम: जांचें कि क्या ऐरे में सभी डिजिट्स का उपयोग करके 3 से विभाज्य संख्या बनाना संभव है पायथन प्रोग्राम: जांचें कि क्या ऐरे में सभी डिजिट्स का उपयोग करके 3 से विभाज्य संख्या बनाना संभव है

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट इंटीजर्स के ऐरे इनपुट दिए जाने पर, हमें यह ढूंढना होगा कि क्या इन नंबर्स में उपलब्ध सभी डिजिट्स का उपयोग करके एक इंटीजर बनाना संभव है जो 3 से विभाज्य हो। यहां हम एक फंक्शन जनरेट करेंग