
max_occurences
Cho một xâu nhị phân s gồm các số 0 và 1, độ dài trong khoảng từ 1 tới 1e6 kí tự. Cho 2 số A và B ( 0 <= A < B <= 12), và 1 số N (1 <= N <= 20). Trong s tồn tại các xâu con c, mỗi xâu con có thể xuất hiện nhiều lần, số lần xuất hiện của 1 xâu con là o. Một giá trị o có thể là số lần xuất hiện của nhiều xâu con. Tìm N số lần xuất hiện lớn nhất của các xâu con có độ dài trong khoảng [A; B] theo thứ tự giảm dần. Nếu không đủ, in ra số lượng tối đa.
Ví dụ:
- Với
s = “101010”
,A = 2, B = 3, N = 2
thì kết quả trả về sẽ là [3, 2], với xâu con “10” xuất hiện 3 lần và xâu con “010”, “101” và “01” xuất hiện 2 lần.
Đầ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] Integer A, B, N
A và B là giới hạn độ dài các xâu con thỏa mãn. 0 <= A < B <= 12.
N là số giá trị xuất hiện lớn nhất cần trả về. 1 <= N <= 20. Nếu không đủ N giá trị, trả về tối đa các giá trị tìm được. - [Đầu vào] String s
Một xâu nhị phân chỉ gồm các kí tự'0', '1'.
.
1 <= s.length() <= 1e6 - [Đầu ra] Array.Integer
N giá trị là số lần xuất hiện lớn nhất của các xâu con theo yêu cầu. Nếu có ít hơn N giá trị, trả về tất cả. Lưu ý trả về theo thứ tự giảm dần.
Post Comment