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

Python से बाइनरी स्ट्रिंग बल्ब स्विचर (मिनिमम फ्लिप्स) कैसे बनाएं?

सभी बल्ब्स ऑफ (0) से शुरू करके, टारगेट बाइनरी स्ट्रिंग पाने के लिए मिनिमम फ्लिप्स: इंडेक्स i से अंत तक सभी फ्लिप होते हैं।

एल्गोरिदम

  • count = 0, x = '0' (करंट एक्सपेक्टेड स्टेट)।
  • टारगेट स्ट्रिंग के प्रत्येक कैरेक्टर के लिए: अगर i != x तो count++, x = i (फ्लिप हुआ)।
  • count रिटर्न करें।

उदाहरण कोड


def solve(t):
    count = 0
    x = '0'
    for i in t:
        if i != x:
            count += 1
            x = i
    return count

# टेस्ट: t="0101" -> फ्लिप्स: 0→1 (i=1), 1→0 (i=2), 0→1 (i=3) -> 3

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

इनपुट: "0101"
आउटपुट: 3

  1. Python से गलत बाइनरी ट्री को कैसे ठीक करें (एरोनियस राइट पॉइंटर)? Python से गलत बाइनरी ट्री को कैसे ठीक करें (एरोनियस राइट पॉइंटर)?

    BFS से एरोनियस राइट चाइल्ड पॉइंटर (सेम लेवल पर पॉइंट करता हुआ) ढूंढें और उस नोड को उसके डिसेंडेंट्स सहित डिलीट करें (टारगेट नोड छोड़कर)। एल्गोरिदम क्यू से BFS ट्रैवर्सल (collections.deque)। parent (पैरेंट, is_left)। visited सेट से डुप्लिकेट विजिट डिटेक्ट करें (एरोनियस लिंक)। जब डुप्लिकेट मिले: ग्रै

  1. पायथन में DFA का उपयोग करके जांचें कि बाइनरी स्ट्रिंग 3 का गुणक है या नहीं पायथन में DFA का उपयोग करके जांचें कि बाइनरी स्ट्रिंग 3 का गुणक है या नहीं

    मान लीजिए हमारे पास एक सरणी n है जो किसी संख्या के बाइनरी प्रतिनिधित्व को दर्शाती है। हमें डिटरमिनिस्टिक फाइनाइट ऑटोमेटा (DFA) का उपयोग करके जांचना है कि इसका बाइनरी प्रतिनिधित्व 3 से विभाज्य है या नहीं। उदाहरण के लिए, यदि n = [1, 1, 0, 0] (12 का बाइनरी) है, तो आउटपुट True होगा। हल करने का तरीका हम

  1. - पायथन में % ऑपरेटर से स्ट्रिंग फॉर्मेटिंग

    पायथन में स्ट्रिंग फॉर्मेटिंग के कई तरीके हैं: % ऑपरेटर, {} (str.format), और Template Strings। इस लेख में हम C-स्टाइल % फॉर्मेटिंग को कवर करेंगे। % फॉर्मेटिंग के प्रकार स्ट्रिंग फॉर्मेटिंग एक्सप्रेशन: C के printf पर आधारित। स्ट्रिंग फॉर्मेटिंग मेथड कॉल्स: पायथन 2.6+ में उपलब्ध (str.format)। सामा