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

Python से K मूव्स में स्ट्रिंग कन्वर्जन संभव है या नहीं चेक कैसे करें?

प्रत्येक मूव i में एक अनयूज़्ड इंडेक्स चुनकर कैरेक्टर को i बार शिफ्ट कर सकते हैं (z→a रैप)। K मूव्स में s को t में बदल सकते हैं?

एल्गोरिदम

  • अगर लंबाई अलग तो False।
  • प्रत्येक शिफ्ट डिफरेंस d (0-25) के लिए उपलब्ध मूव्स काउंट: min(1, k-d+1) + (k-d)//26।
  • प्रत्येक कैरेक्टर पेयर के लिए जरूरी डिफरेंस चेक करें और काउंट घटाएं।
  • कोई काउंट नेगेटिव हुआ तो False, वरना True।

उदाहरण कोड


def solve(s, t, k):
    if len(s) != len(t):
        return False
    count = [min(1, k - i + 1) + (k - i) // 26 for i in range(26)]
    for c1, c2 in zip(s, t):
        if c1 != c2:
            diff = (ord(c2) - ord(c1) + 26) % 26
            if count[diff] <= 0:
                return False
            count[diff] -= 1
    return True

# टेस्ट: s="poput", t="vwput", k=9 -> p→v (6 शिफ्ट), o→w (8 शिफ्ट) -> True

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

इनपुट: "poput", "vwput", 9
आउटपुट: True

  1. पायथन प्रोग्राम: जांचें कि दी गई स्ट्रिंग कीवर्ड है या नहीं पायथन प्रोग्राम: जांचें कि दी गई स्ट्रिंग कीवर्ड है या नहीं

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

  1. - सूची खाली है या नहीं जांचने का पायथन प्रोग्राम

    समस्या विवरण एक खाली सूची दी गई है। हमारा कार्य जांचना है कि यह सूची खाली है या नहीं। यहां हम जांचने का एक निहित तरीका उपयोग करते हैं। एल्गोरिदम हम एक खाली सूची लेते हैं। फिर जांचें कि यदि सूची खाली है तो 1 लौटाएं अन्यथा 0। उदाहरण कोड # खाली सूची की जांच के लिए पायथन कोड def checklist(A): if

  1. - Python का उपयोग करके स्ट्रिंग पैलिंड्रोम है या नहीं जांचें

    Python में पैलिंड्रोम स्ट्रिंग जांचना Python के मानक पुस्तकालय से reveresed() फ़ंक्शन का उपयोग करें। यह उल्टा ऑब्जेक्ट लौटाता है जिसे सूची ऑब्जेक्ट में बदला जा सकता है। >>> str1 = malayalam >>> l1 = list(reversed(str1)) >>> l1 [m, a, l, a, y, a, l, a, m] join() मेथड का उ