Menu
CoddyTech

Leaders in an Array

Bạn nhận được một mảng số nguyên nums. Một phần tử là phần tử dẫn đầu khi nó lớn hơn hoặc bằng mọi phần tử ở bên phải nó. Phần tử cuối cùng không có phần tử nào ở bên phải, nên nó luôn là phần tử dẫn đầu. Trả về tất cả các phần tử dẫn đầu theo thứ tự xuất hiện từ trái sang phải trong nums.

Hàm

leaders(nums: integer-array) → integer-array
numsinteger-array
mảng số nguyên cần tìm kiếm
Trả vềinteger-array
các phần tử đầu tiên của nums, từ trái sang phải

Ràng buộc

  • 1 ≤ nums.length ≤ 25000
  • -109 ≤ nums[i] ≤ 109

Ví dụ

Đầu vào
nums = [12, 5, 9, 3, 6, 2]
Đầu ra
[12, 9, 6, 2]
Giải thích
2 ở cuối nên đứng đầu. 6 thắng 2 đứng sau nó, 9 thắng 3, 6 và 2, còn 12 thắng tất cả. 5 thua 9 và 3 thua 6, nên đáp án là [12, 9, 6, 2].
challenge icon

Câu hỏi mở rộng

Nếu các giá trị đến lần lượt và sau mỗi giá trị bạn phải báo cáo những giá trị dẫn đầu cho đến lúc đó, bạn cập nhật danh sách như thế nào để đạt thời gian trung bình O(1) cho mỗi giá trị?

Đặt lại code
def leaders(nums):
    # Viết code tại đây

Kiểm thử #1

Kiểm thử #2

Kiểm thử #3

Đối số

nums = [12, 5, 9, 3, 6, 2]

Đầu ra mong đợi

[12, 9, 6, 2]