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

पायथन में सभी x को y से पहले लाने के लिए फ्लिप की संख्या गिनने का प्रोग्राम


मान लीजिए हमारे पास x और y अक्षरों वाली एक लोअरकेस स्ट्रिंग s है। अब एक ऑपरेशन पर विचार करें जिसमें हम एक x को y में या इसके विपरीत बदलते हैं। हमें उस ऑपरेशन को करने की न्यूनतम संख्या ज्ञात करनी है जिससे सभी x, सभी y से पहले आ जाएं।

इसलिए, यदि इनपुट s = "yxyyyyxyxx" जैसा है, तो आउटपुट 4 होगा।

हल करने के चरण

  • y_left := 0

  • x_right := s में "x" की संख्या, res := s में "x" की संख्या

  • s में प्रत्येक item के लिए, करें

    • यदि item, "x" के समान है, तो x_right := x_right - 1

    • अन्यथा, y_left := y_left + 1

    • res := res और (y_left + x_right) का न्यूनतम

  • res लौटाएं

उदाहरण

class Solution:
    def solve(self, s):
        y_left = 0
        x_right = res = s.count("x")
        for item in s:
            if item == "x":
                x_right -= 1
            else:
                y_left += 1
            res = min(res, y_left + x_right)
        return res

ob = Solution()
s = "yxyyyyxyxx"
print(ob.solve(s))

इनपुट

"yxyyyyxyxx"

आउटपुट

4
  1. - Python प्रोग्राम - स्ट्रिंग को समान स्ट्रिंग के दोहराव बनाने के लिए न्यूनतम ऑपरेशन

    एक लोअरकेस स्ट्रिंग s दी गई है। एक ऑपरेशन पर विचार करें जहां हम s में किसी भी वर्ण को हटा सकते हैं, डाल सकते हैं या अपडेट कर सकते हैं। हमें न्यूनतम ऑपरेशन की संख्या गिननी है ताकि s = t + t किसी स्ट्रिंग t के लिए हो। उदाहरण इनपुट: s = pqrxqsr आउटपुट: 2 व्याख्या: हम x को p से अपडेट कर सकते हैं और s क

  1. - Python प्रोग्राम - स्ट्रिंग में विशिष्ट सबस्ट्रिंग की संख्या गिनें

    एक स्ट्रिंग s दी गई है, हमें s के विशिष्ट गैर-खाली सबस्ट्रिंग की संख्या खोजनी है। उदाहरण इनपुट: s = abaa आउटपुट: 8 व्याख्या: सबस्ट्रिंग हैं [a, b, ab, ba, aa, aba, baa, abaa]। एल्गोरिदम (ट्राई/प्रीफिक्स ट्री) trie := {} (खाली डिक्शनरी) n := len(s) i 0 से n-1 तक: curr := trie j i से n-1

  1. पायथन में ऐरे में x से बड़े सभी वैल्यूज को फ़िल्टर करने का प्रोग्राम पायथन में ऐरे में x से बड़े सभी वैल्यूज को फ़िल्टर करने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक संख्याओं की सूची है। हमारे पास x नामक एक और संख्या भी है। हमें nums से उन सभी नंबरों को फ़िल्टर करके ढूंढना है जो x से कम हैं। पायथन में filter() मेथड होता है जो फंक्शन को आर्गुमेंट के रूप में लेता है और इस फंक्शन का उपयोग करके फ़िल्टर करता है। तो, यदि इनपुट nums = [1,5