01/10/2018, 12:34
Thuật toán giải với O(n)
chào mọi người, em có câu muốn hỏi ạ:
cho 1 tập các phần tử số nguyên gồm n ptu (các phần tử có thể lặp lại). tìm thuật toán tìm và đưa ra dãy con các phần tử sắp xếp k giảm, tối đa 3 số khác nhau trong dãy, có độ dài lớn nhất.
ví dụ: 111222233456666 là tập n ptu sau khi săp xếp, thì tập in ra phải là: 111222233
Bài liên quan
Ý tưởng:
Cả 2 cái, mỗi cái duyệt 1 lần, gần với O(n), có thể vừa làm điều 1 vừa làm điều 2 cùng một lúc và ko cần thêm mảng nào cả, đúng O(n).
Cái này dùng thử HashMap đi. Rồi dùng môt flag để check 3 lần.