Bạn có danh sách n số nguyên và bạn muốn x nhỏ nhất. Ví dụ:Tìm x số nguyên nhỏ nhất trong danh sách độ dài n
x_smallest([1, 2, 5, 4, 3], 3)
phải trả lại [1, 2, 3]
.
Tôi sẽ bỏ phiếu cho các thời gian chạy duy nhất trong lý do và sẽ kiểm tra màu xanh lá cây cho thời gian chạy tốt nhất.
Tôi sẽ bắt đầu bằng O(n * x)
: Tạo một mảng có độ dài x. Lặp lại qua danh sách x lần, mỗi lần kéo ra số nguyên nhỏ nhất tiếp theo.
Chỉnh sửa
- Bạn không có ý tưởng như thế nào dù lớn hay nhỏ những con số này trước thời hạn.
- Bạn không quan tâm đến lệnh cuối cùng, bạn chỉ muốn x nhỏ nhất.
- Điều này đã được xử lý trong một số giải pháp, nhưng giả sử rằng trong khi bạn không được đảm bảo một danh sách duy nhất, bạn cũng sẽ không nhận được danh sách thoái hóa, chẳng hạn như
[1, 1, 1, 1, 1]
.
... đây là một cuộc thi? – Randolpho
Tại sao bạn cấu trúc câu hỏi như một cuộc thi? –
Tôi không biết, có vẻ như một cách thú vị để làm điều đó. –