Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมตรวจสอบไบนารีสตริงว่ามีหนึ่งเซกเมนต์หรือไม่โดยใช้Python


สมมติว่าเรามีสตริงไบนารี s (ไม่มีเลขศูนย์นำหน้า) เราต้องตรวจสอบว่า s มีส่วนที่ต่อเนื่องกันมากที่สุดหรือไม่

ดังนั้น หากอินพุตเป็น s ="11100" เอาต์พุตจะเป็น True เนื่องจากมีส่วน "111" เพียงส่วนเดียว

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • นับ :=-1

  • ถ้าขนาดเท่ากับ 1 แล้ว

    • คืนค่า True

  • สำหรับแต่ละ i ทำ

    • ถ้าฉันเหมือนกับ "1" และนับ> -1 แล้ว

      • คืนค่าเท็จ

    • มิฉะนั้นเมื่อฉันเหมือนกับ "0" แล้ว

      • นับ :=นับ + 1

  • คืนค่า True

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

ตัวอย่าง

def solve(s):
   count = -1
   if len(s)==1:
      return True
   for i in s:
         if i=="1" and count>-1:
            return False
         elif i=="0":
            count+=1
   return True
s = "11100"
print(solve(s))

อินพุต

11100

ผลลัพธ์

True