কম্পিউটার

একটি বাইনারি স্ট্রিং এর সমস্ত 1s সমান দূরত্বের কিনা তা পাইথনে পরীক্ষা করুন


ধরুন আমাদের একটি বাইনারি স্ট্রিং str আছে, আমাদের পরীক্ষা করতে হবে স্ট্রিং এর 1s এর সবগুলোই সমান দূরত্বের কিনা। অন্য কথায়, প্রতি দুই 1 সেকেন্ডের মধ্যে দূরত্ব একই। এবং স্ট্রিংটিতে কমপক্ষে দুটি 1s রয়েছে৷

সুতরাং, যদি ইনপুটটি s ="100001000010000" এর মত হয়, তাহলে আউটপুটটি True হবে কারণ 1s একে অপরের থেকে 4 দূরত্বে থাকে।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • সূচী :=একটি নতুন তালিকা
  • 0 থেকে s আকারের রেঞ্জের জন্য,
      করুন
    • যদি s[i] 1 এর মত হয়, তাহলে
      • সূচির শেষে i ঢোকান
  • t :=সূচকের আকার
  • আমি 1 থেকে t - 1 রেঞ্জের জন্য, কর
    • যদি (index[i] - index[i - 1]) একই না হয় (index[1] - index[0]), তাহলে
      • মিথ্যে ফেরত দিন
  • সত্য ফেরান

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

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. দুটি গাছের সমস্ত স্তর পাইথনে অ্যানাগ্রাম কিনা তা পরীক্ষা করুন

  2. গাছের সমস্ত মান পরীক্ষা করার প্রোগ্রাম পাইথনে একই বা না

  3. স্ট্রিং খালি আছে কি না তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  4. একটি স্ট্রিং প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম