Sắp xếp mảng theo tần suất

Xem dạng PDF

Đề bài

Những bài toán về sắp xếp tăng dần hay giảm dần theo giá trị của khóa cho trước đã trở nên quá quen thuộc. Để đổi mới, thầy giáo yêu cầu:
Cho dãy số có ~ N ~ (~ 1 \leq N \leq 10^5 ~) số nguyên ~ a_1, a_2, \ldots, a_N ~ (~ |a_i| \leq 10^9 ~), hãy sắp xếp các số trong dãy theo thứ tự giảm dần theo tần số xuất hiện. Nếu có nhiều số có cùng tần số, các số xuất hiện trước trong dãy ban đầu sẽ được ưu tiên.


Dữ liệu vào
  • Dòng đầu chứa số nguyên ~ N ~;
  • Dòng thứ hai chứa ~ N ~ số nguyên ~ a_1, a_2, \ldots, a_N ~.

Dữ liệu ra
  • Một dòng chứa dãy được sắp xếp theo yêu cầu.

Ví dụ
Input:
7
2 2 3 3 2 1 1
Output:
2 2 2 3 3 1 1

Giải thích:

  • Số ~ 2 ~ xuất hiện 3 lần, ~ 3 ~ xuất hiện 2 lần, ~ 1 ~ xuất hiện 2 lần.
  • Vì ~ 2 ~ xuất hiện trước ~ 3 ~ và ~ 1 ~, nên ~ 2 ~ được ưu tiên.



Bình luận

Hãy đọc nội quy trước khi bình luận.

Không có bình luận tại thời điểm này.

Gửi bài giải
Điểm: 10,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout
Dạng bài
Basic
Ngôn ngữ cho phép
C
C++
Java
Kotlin
Pascal
PyPy
Python
Scratch