Tôi thấy câu hỏi phỏng vấn này, và tôi không thể đưa ra một thuật toán tốt hơn so với O (N^2 * P):Thuật toán đố phỏng vấn
Cho một vector của các số tự nhiên P (1,2 , 3, ..., P) và một vectơ có chiều dài N khác có các phần tử từ vector đầu tiên, tìm chuỗi dài nhất trong vector thứ hai, sao cho tất cả các phần tử được phân bố đồng đều (có cùng tần số).
Ví dụ: (1,2,3) và (1, 2,1,3,2,1,3,1,2,3, 1). Đoạn dài nhất là trong khoảng [2,10], bởi vì nó chứa tất cả các phần tử từ dãy đầu tiên có cùng tần số (1 xuất hiện ba lần, 2 ba lần, và 3 ba lần).
Độ phức tạp thời gian phải là O (N * P).
Chuỗi tiếp theo phải liên tiếp không? – svick
Có, một chuỗi V [i..j] bao gồm các phần tử: V [i], V [i + 1], .. V [j]. – flowerpower