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

পাইথনে যাচাই করুন বাইনারি স্ট্রিং এর সব ১ সমান দূরত্বে আছে কিনা

ধরুন, একটি বাইনারি স্ট্রিং s দেওয়া হয়েছে। আমাদের যাচাই করতে হবে যে স্ট্রিং-এ থাকা সব 1-গুলো কি সমান দূরত্বে আছে। অর্থাৎ, किन्हीं দুটি 1-র মধ্যবর্তী দূরত্ব সব জায়গায় একই। স্ট্রিং-এ কমপক্ষে দুটি 1 থাকবে।

যেমন, ইনপুট s = "100001000010000" হলে আউটপুট হবে True, কারণ ১-গুলো একে অপর থেকে দূরত্ব ৪।

সমাধানের ধাপসমূহ

  • index নামক একটি লিস্টে সব 1-এর পজিশন (ইনডেক্স) সংরক্ষণ করুন।
  • t = len(index)।
  • i = 1 থেকে t-1 পর্যন্ত লুপ চালান:
    • যদি (index[i] - index[i-1]) != (index[1] - index[0]) হয়, তবে False ফেরত দিন।
  • লুপ শেষ হলে True ফেরত দিন।

উদাহরণ কোড

def solve(s):
    index = []
    for i in range(len(s)):
        if s[i] == '1':
            index.append(i)
    t = len(index)
    for i in range(1, t):
        if (index[i] - index[i-1]) != (index[1] - index[0]):
            return False
    return True

s = "100001000010000"
print(solve(s))

ইনপুট

"100001000010000"

আউটপুট

True
  1. পাইথনে দুটি বাইনারি ট্রির সকল লেভেল যুগ्मানুকরণ (anagram) কিনা যাচাই

  2. পাইথনে বাইনারি ট্রিয়ের সব নোডের মান একই কিনা যাচাই করা

  3. পাইথনে স্ট্রিং খালি কিনা চেক করা

  4. পাইথনে প্যালিনড্রোম স্ট্রিং চেক করা