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

পাইথনে প্রায় একই দুই শব্দ আছে কিনা চেক করা (এক ক্যারেক্টার ভিন্ন)

একই লেংথের শব্দের লিস্ট দেওয়া আছে। কোনো দুটি শব্দ শুধু এক ক্যারেক্টার দিয়ে ভিন্ন কিনা চেক করুন।

ইনপুট উদাহরণ

words = ["seed", "pick", "lick", "root", "live"]

আউটপুট: True ("pick" এবং "lick" শুধু প্রথম ক্যারেক্টার ভিন্ন)

অ্যালগরিদম

  1. প্রতিটি শব্দের প্রতিটি পজিশনে * দিয়ে মাস্ক বানান (যেমন "p*ck")।
  2. সেটে যদি একই মাস্ক দুবার পাওয়া যায়, তবে প্রায় একই শব্দ আছে।

পাইথন কোড

def solve(words):
    s = set()
    for word in words:
        for i, w in enumerate(word):
            masked = word[:i] + "*" + word[i+1:]
            if masked in s:
                return True
            else:
                s.add(masked)
    return False

# টেস্ট
print(solve(["seed", "pick", "lick", "root", "live"]))  # True

ব্যাখ্যা

সময় জটিলতা: O(n * L²) (L = শব্দের লেংথ, স্ট্রিং স্লাইসিং এর জন্য)। স্পেস: O(n * L)।

  1. সি শার্প প্রোগ্রাম: দুটি সিকোয়েন্স একই কিনা তা যাচাই করা

  2. পাইথনে ডাইরেক্টেড গ্রাফে কমন রিচেয়achable নোড আছে কিনা চেক করা

  3. পাইথনে দুটি বাইনারি ট্রির লিফ সিকোয়েন্স মিল কিনা যাচাই

  4. পাইথনে বাইনারি সংখ্যায় K ক্রমাগত ১ আছে কিনা যাচাই করার প্রোগ্রাম