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

Python से ऐरे को बराबर करने के लिए मिनिमम ऑपरेशन्स कैसे ढूंढें?

ऐरे arr[i] = 2i+1 से शुरू करके, एक ऑपरेशन में एक एलिमेंट से 1 घटाकर दूसरे में 1 जोड़ें। सभी एलिमेंट्स बराबर करने के लिए मिन ऑपरेशन्स।

एल्गोरिदम

  • टारगेट वैल्यू = n (क्योंकि sum = n², प्रत्येक एलिमेंट = n)।
  • पहले आधे एलिमेंट्स (जो n से छोटे हैं) को n तक लाने के लिए आवश्यक ऑपरेशन्स जोड़ें।
  • फॉर्मूला: Σ(n - (2i+1)) i=0 से n/2-1 तक।

उदाहरण कोड


def solve(n):
    ans = 0
    if n == 1: return ans
    q = (n // 2) - 1
    j = 1
    while q >= 0:
        ans += (n - j)
        q -= 1
        j += 2
    return ans

# टेस्ट: n=4 -> ऐरे=[1,3,5,7], टारगेट=4
# ऑपरेशन्स: (4-1)+(4-3) = 3+1 = 4

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

इनपुट: 4
आउटपुट: 4

  1. Python से बाइनरी ग्रिड में मेजर डायगोनल के ऊपर ज़ीरोज़ के लिए मिनिमम स्वैप्स कैसे ढूंढें? Python से बाइनरी ग्रिड में मेजर डायगोनल के ऊपर ज़ीरोज़ के लिए मिनिमम स्वैप्स कैसे ढूंढें?

    n×n बाइनरी मैट्रिक्स में एडजेसेंट रो स्वैप्स से मेजर डायगोनल के ऊपर सभी एलिमेंट्स 0 करने के लिए मिनिमम स्वैप्स ढूंढें। एल्गोरिदम प्रत्येक रो के लिए राइटमोस्ट 1 की पोजीशन ढूंढें → m[i] = n - j - 1 (डायगोनल से दूरी)। ग्रीडी: i=0 से n-1, ऐसी रो ढूंढें जिसका = n-i-1 हो (यानी डायगोनल के ऊपर 1 न हो)। उसे

  1. - पायथन में एक संख्या को दूसरी संख्या में बदलने के लिए आवश्यक न्यूनतम संक्रियाओं की संख्या खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक संख्या start और एक अन्य संख्या end है (start < end), हमें start को end में बदलने के लिए आवश्यक न्यूनतम संक्रियाओं की संख्या ढूंढनी है इन संक्रियाओं का उपयोग करके: 1 से बढ़ाएं 2 से गुणा करें उदाहरण के लिए, यदि इनपुट है start = 5, end = 11, तो आउटपुट होगा 2, क्योंकि हम 2 से ग

  1. - पायथन में एक स्ट्रिंग को दूसरी स्ट्रिंग का सबस्ट्रिंग बनाने के लिए आवश्यक न्यूनतम संक्रियाओं की संख्या खोजने का प्रोग्राम

    मान लीजिए हमारे पास दो स्ट्रिंग्स s और t हैं, हमें s के लिए आवश्यक न्यूनतम संक्रियाओं की मात्रा ढूंढनी है ताकि t, s का सबस्ट्रिंग बन जाए। अब, प्रत्येक संक्रिया में, हम s में किसी भी स्थिति को चुन सकते हैं और उस स्थिति के वर्ण को किसी अन्य वर्ण में बदल सकते हैं। उदाहरण के लिए, यदि इनपुट है s = abbpq