কম্পিউটার টিউটোরিয়াল

পাইথনে স্ট্রিংয়ের দুটি অর্ধেকের মধ্যে কমপক্ষে একটি ভিন্ন ক্যারেক্টার আছে কিনা

একটি লোয়ারকেস স্ট্রিং দেওয়া আছে। মাঝপথ থেকে ভাগ করলে দুটি অর্ধেকের মধ্যে কমপক্ষে একটি ক্যারেক্টারের ফ্রিকোয়েন্সি ভিন্ন আছে কিনা যাচাই করতে হবে। বিজোড় দৈর্ঘ্য হলে মাঝের ক্যারেক্টার বাদ দেওয়া হয়।

উদাহরণ

ইনপুট: s = "helloohekk"

আউটপুট: True

ব্যাখ্যা: বাম অংশ "hello", ডান অংশ "ohekk" - ফ্রিকোয়েন্সি ভিন্ন।

অ্যালগরিদম

  1. বাম ও ডান অর্ধেকের ফ্রিকোয়েন্সি ম্যাপ বানান।
  2. যেকোনো ক্যারেক্টারের জন্য ফ্রিকোয়েন্সি ভিন্ন হলে True।

উদাহরণ কোড

from collections import defaultdict

def solve(s):
    left_freq = defaultdict(int)
    right_freq = defaultdict(int)
    n = len(s)
    for i in range(n // 2):
        left_freq[s[i]] += 1
    for i in range(n // 2, n):
        right_freq[s[i]] += 1
    for ch in s:
        if right_freq[ch] != left_freq[ch]:
            return True
    return False

s = "helloohekk"
print(solve(s))  # Output: True

ইনপুট

"helloohekk"

আউটপুট

True
  1. পাইথনে স্ট্রিং প্যাংগ্রাম (Pangram) কিনা চেক করা

  2. পাইথন প্রোগ্রাম: দুটি লিস্টে কমপক্ষে একটি কমন এলিমেন্ট আছে কিনা চেক করা

  3. পাইথনে স্ট্রিং-এ কোনো ক্যারেক্টার অক্ষর কিনা চেক করা

  4. পাইথনে স্ট্রিং-এ কমপক্ষে একটি অক্ষর ও একটি সংখ্যা আছে কিনা যাচাই করা