
PALINDEG
Xâu đối xứng là xâu đọc từ trái qua phải cũng giống như đọc từ phải qua trái, người ta định nghĩa bậc đối xứng của string
, kí hiệu là deg(string)
như sau:
- Nếu
string
không phải là xâu đối xứng (hoặc có độ dài bằng 1) thìdeg(string) = 0
- Nếu
string
là xâu đối xứng, thìdeg(string)
được tính theo công thức:
deg(string) = 1 + deg(t)
Trong đó,t
là nửa trái củastring
theo định nghĩa:t = s[1..k]
k = (length(string) + 1) div 2
Cho một xâu string
. Hãy xác định bậc đối xứng của nó.
Ví dụ:
- Với
string = "z"
thìdeg(string) = 0
. - Với
string = "zo"
thìdeg(string) = 0
. - Với
string = "zoz"
thìdeg(string) = 1
. - Với
string = "zozzoz"
thìdeg(string) = 2
.
Đầu vào/Đầu ra:
- [Thời gian chạy] 0.5s với C++, 3s với Java và C#, 4s với Python, Go và JavaScript.
- [Đầu vào] String
1 ≤ s.length ≤ 10^9
- [Đầu ra] Integer
Post Comment