Menu
CoddyTech

Top K Frequent Elements

Trung bìnhHeapBămpython iconjava iconcpp iconc iconjs icon+10

Bạn nhận được một mảng số nguyên nums và một số nguyên k. Hãy trả về k giá trị xuất hiện thường xuyên nhất trong nums, theo thứ tự từ thường xuyên nhất đến ít thường xuyên hơn. Nếu hai giá trị xuất hiện cùng số lần, giá trị nhỏ hơn đứng trước.

Mỗi giá trị chỉ xuất hiện một lần trong câu trả lời, dù nó xuất hiện bao nhiêu lần trong nums, và k không bao giờ lớn hơn số lượng giá trị khác nhau.

Hàm

topKFrequent(nums: integer-array, k: integer) → integer-array
numsinteger-array
các giá trị cần đếm
kinteger
cần trả về bao nhiêu giá trị
Trả vềinteger-array
k giá trị xuất hiện thường xuyên nhất, theo thứ tự tần suất giảm dần; nếu hòa, giá trị nhỏ hơn đứng trước

Ràng buộc

  • 1 ≤ nums.length ≤ 104
  • -104 ≤ nums[i] ≤ 104
  • 1 ≤ k, và k không lớn hơn số lượng giá trị khác nhau trong nums.

Ví dụ

Đầu vào
nums = [4, 1, 4, 2, 1, 4, 3, 1, 4]k = 2
Đầu ra
[4, 1]
Giải thích
4 xuất hiện bốn lần, 1 xuất hiện ba lần, còn 2 và 3 mỗi số xuất hiện một lần. Hai giá trị xuất hiện nhiều nhất là 4, sau đó là 1.
Đặt lại code
def topKFrequent(nums, k):
    # Viết code ở đây

Kiểm thử #1

Kiểm thử #2

Kiểm thử #3

Đối số

nums = [4, 1, 4, 2, 1, 4, 3, 1, 4]
k = 2

Đầu ra mong đợi

[4, 1]