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

पायथन में जांचें कि एक स्ट्रिंग में वर्ण की आवृत्ति दूसरी स्ट्रिंग में उसी वर्ण की आवृत्ति का गुणक या भाजक है या नहीं


मान लीजिए हमारे पास दो स्ट्रिंग्स s और t हैं, हमें जांचना है कि s में एक वर्ण की घटनाएं t में गुणक या भाजक हैं या नहीं।

इसलिए, यदि इनपुट s = "xxyzzw", t = "yyyxxxxzz" है, तो आउटपुट True होगा क्योंकि s में x की आवृत्ति 2 है, और t में 4 है, s में y केवल एक बार मौजूद है, लेकिन t में तीन y हैं, s और t में z की संख्या समान है और s में एक w है लेकिन t में नहीं।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:

  • s_freq := s में सभी वर्णों और उनकी आवृत्तियों वाला मैप
  • t_freq := t में सभी वर्णों और उनकी आवृत्तियों वाला मैप
  • s_freq में प्रत्येक ch के लिए, करें
    • यदि ch, t_freq में नहीं है, तो
      • अगले पुनरावृत्ति के लिए जाएं
    • यदि t_freq[ch], s_freq[ch] से विभाज्य है या s_freq[ch], t_freq[ch] से विभाज्य है, तो
      • अगले पुनरावृत्ति के लिए जाएं
    • अन्यथा,
      • False लौटाएं
  • True लौटाएं

उदाहरण

बेहतर समझ के लिए निम्न कार्यान्वयन देखें:

from collections import defaultdict
def solve(s, t):
    s_freq = defaultdict(int)
    t_freq = defaultdict(int)
    for i in range(0, len(s)):
        s_freq[s[i]] += 1
    for i in range(0, len(t)):
        t_freq[t[i]] += 1
    for ch in s_freq:
        if ch not in t_freq:
            continue
        if t_freq[ch] % s_freq[ch] == 0 or s_freq[ch] % t_freq[ch] == 0:
            continue
        else:
            return False
    return True
s = "xxyzzw"
t = "yyyxxxxzz"
print(solve(s, t))

इनपुट

"xxyzzw", "yyyxxxxzz"

आउटपुट

True

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

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

  1. - पायथन में स्ट्रिंग में पहला अद्वितीय वर्ण

    मान लीजिए हमारे पास एक स्ट्रिंग है और हमें स्ट्रिंग में पहला अद्वितीय वर्ण ढूंढना है। उदाहरण के लिए, यदि स्ट्रिंग people जैसी है, तो पहला अक्षर जिसकी घटना एक है वह o है। तो सूचकांक वापस किया जाएगा, जो यहां 2 है। यदि ऐसा कोई वर्ण नहीं है, तो -1 वापस करें। हल करने के चरण एक फ्रीक्वेंसी मैप बनाएं स्ट

  1. - Python में Check करें कि String में Character Letter है या नहीं?

    Character Letter Check करना आप String Class से isalpha() Method का उपयोग कर सकते हैं। यह Check करता है कि String केवल Alphabets से बना है या नहीं। आप इसका उपयोग यह Check करने के लिए भी कर सकते हैं कि कोई Character Alphabet है या नहीं। उदाहरण: 5th Index पर Character Check करना >>> s = Hell