Giả sử chúng ta có một chuỗi nhị phân s (không có các số 0 ở đầu), Chúng ta phải kiểm tra xem s có chứa nhiều nhất một phân đoạn liền kề của các chuỗi đó hay không.
Vì vậy, nếu đầu vào là s ="11100", thì đầu ra sẽ là Đúng vì có một đoạn trong số những người đó là "111".
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
-
đếm:=-1
-
nếu kích thước của s bằng 1 thì
-
trả về True
-
-
đối với mỗi tôi trong s, hãy làm
-
nếu tôi giống với "1" và đếm> -1, thì
-
trả về Sai
-
-
ngược lại khi tôi giống với "0" thì
-
count:=count + 1
-
-
-
trả về True
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
Ví dụ
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))
Đầu vào
11100
Đầu ra
True