สมมติว่าเรามีสตริงไบนารี 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