Thiết kế một lớp để tìm phần tử lớn thứ k trong luồng. Lưu ý rằng nó là phần tử lớn thứ k trong thứ tự được sắp xếp, không phải là phần tử riêng biệt thứ k
Lớp KthLagest của bạn sẽ có một hàm tạo chấp nhận một số nguyên k và một mảng số nguyên nums, chứa các phần tử ban đầu từ luồng. Đối với mỗi lệnh gọi đến phương thức KthLagest. thêm, trả về phần tử đại diện cho phần tử lớn thứ k trong luồng
Thí dụ
int k = 3;
int[] arr = [4,5,8,2];
KthLargest kthLargest = new KthLargest[3, arr];
kthLargest.add[3]; // returns 4
kthLargest.add[5]; // returns 5
kthLargest.add[10]; // returns 5
kthLargest.add[9]; // returns 8
kthLargest.add[4]; // returns 8
Ghi chú.
Bạn có thể cho rằng độ dài của số ≥ k-1 và k ≥ 1.
Dung dịch
class KthLargest:
def __init__[self, k: int, nums: List[int]]:
self.nums = nums
self.k = k
def add[self, val: int] -> int:
self.nums.append[val]
self.nums.sort[]
return self.nums[len[self.nums]-self.k]
# Your KthLargest object will be instantiated and called as such:
# obj = KthLargest[k, nums]
# param_1 = obj.add[val]
SOMJANG/CODINGTEST_PRACTICE
1일 1문제 từ năm 2020. 02. 07. Đóng góp cho sự phát triển của SOMJANG/CODINGTEST_PRACTICE bằng cách tạo một tài khoản trên GitHub
Giữ một mảng có kích thước K. Ý tưởng là giữ cho mảng được sắp xếp để có thể tìm thấy phần tử lớn thứ K trong thời gian O[1] [ta chỉ cần trả về phần tử đầu tiên của mảng, nếu mảng được sắp xếp theo thứ tự tăng dần
Làm cách nào để xử lý một phần tử mới của luồng?
Đối với mọi phần tử mới trong luồng, hãy kiểm tra xem phần tử mới có nhỏ hơn phần tử lớn thứ K hiện tại không. Nếu có, sau đó bỏ qua nó. Nếu không, hãy loại bỏ phần tử nhỏ nhất khỏi mảng và chèn phần tử mới theo thứ tự đã sắp xếp.
Độ phức tạp thời gian của việc xử lý một phần tử mới là O[K]
Phần tử lớn thứ k trong luồng sử dụng cây tìm kiếm nhị phân tự cân bằng
Để giải quyết vấn đề, hãy làm theo ý tưởng dưới đây
Tạo cây tìm kiếm nhị phân tự cân bằng và với mọi phần tử mới trong luồng, hãy kiểm tra xem phần tử mới có nhỏ hơn phần tử lớn thứ k hiện tại không. Nếu có, sau đó bỏ qua nó. Nếu không, hãy xóa phần tử nhỏ nhất khỏi cây và chèn phần tử mới.
Phần tử lớn thứ K có thể được tìm thấy trong thời gian O[log K]
Phần tử lớn thứ k trong luồng sử dụng Min-Heap
Để giải quyết vấn đề, hãy làm theo ý tưởng dưới đây
Một giải pháp hiệu quả là sử dụng Heap tối thiểu có kích thước K để lưu trữ K phần tử lớn nhất của luồng. Phần tử lớn thứ K luôn ở gốc và có thể được tìm thấy trong thời gian O[1]
Làm cách nào để xử lý một phần tử mới của luồng?
So sánh phần tử mới với gốc của heap. Nếu một phần tử mới nhỏ hơn, hãy bỏ qua nó. Nếu không, hãy thay thế phần tử gốc bằng một phần tử mới và gọi heapify cho phần gốc của phần tử đã sửa đổi
Dưới đây là việc thực hiện các phương pháp trên
CPP
-1 -1 -1 1 2 332
-1 -1 -1 1 2 333
-1 -1 -1 1 2 334
-1 -1 -1 1 2 335
-1 -1 -1 1 2 336
-1 -1 -1 1 2 337
-1 -1 -1 1 2 338
-1 -1 -1 1 2 339
-1 -1 -1 1 2 30
-1 -1 -1 1 2 31
-1 -1 -1 1 2 32______23
-1 -1 -1 1 2 32
-1 -1 -1 1 2 35
-1 -1 -1 1 2 36
-1 -1 -1 1 2 37
-1 -1 -1 1 2 38
-1 -1 -1 1 2 39
-1 -1 -1 1 2 32____3321
-1 -1 -1 1 2 3322
-1 -1 -1 1 2 39
-1 -1 -1 1 2 32
-1 -1 -1 1 2 3325____3326
-1 -1 -1 1 2 39
-1 -1 -1 1 2 32
-1 -1 -1 1 2 3329
-1 -1 -1 1 2 3330
-1 -1 -1 1 2 3331____3332
-1 -1 -1 1 2 39
-1 -1 -1 1 2 3334
-1 -1 -1 1 2 32
-1 -1 -1 1 2 3336
-1 -1 -1 1 2 32
-1 -1 -1 1 2 3338
-1 -1 -1 1 2 3339
-1 -1 -1 1 2 39
-1 -1 -1 1 2 30
-1 -1 -1 1 2 3342
-1 -1 -1 1 2 39
-1 -1 -1 1 2 30
-1 -1 -1 1 2 3345
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 32
-1 -1 -1 1 2 3348
-1 -1 -1 1 2 3349
-1 -1 -1 1 2 39
-1 -1 -1 1 2 32
-1 -1 -1 1 2 3352
-1 -1 -1 1 2 32
-1 -1 -1 1 2 3354
-1 -1 -1 1 2 3355
-1 -1 -1 1 2 3356
-1 -1 -1 1 2 39
-1 -1 -1 1 2 32
-1 -1 -1 1 2 3359
-1 -1 -1 1 2 32
-1 -1 -1 1 2 3354
-1 -1 -1 1 2 3355
-1 -1 -1 1 2 3363
-1 -1 -1 1 2 39
-1 -1 -1 1 2 32
-1 -1 -1 1 2 3366
-1 -1 -1 1 2 32
-1 -1 -1 1 2 3354
-1 -1 -1 1 2 3355
-1 -1 -1 1 2 3370
-1 -1 -1 1 2 39
-1 -1 -1 1 2 32
-1 -1 -1 1 2 3373
-1 -1 -1 1 2 3374
-1 -1 -1 1 2 39
-1 -1 -1 1 2 32
-1 -1 -1 1 2 3377
-1 -1 -1 1 2 3355
-1 -1 -1 1 2 3379
-1 -1 -1 1 2 39____3381
-1 -1 -1 1 2 39____3383
-1 -1 -1 1 2 39
-1 -1 -1 1 2 30
-1 -1 -1 1 2 3386
-1 -1 -1 1 2 32
-1 -1 -1 1 2 3388
-1 -1 -1 1 2 39____3390
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 3392
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 3394
-1 -1 -1 1 2 39____3396
-1 -1 -1 1 2 3397
-1 -1 -1 1 2 3398
-1 -1 -1 1 2 32
-1 -1 -1 1 2 3336______22
-1 -1 -1 1 2 302
-1 -1 -1 1 2 3390
-1 -1 -1 1 2 39
-1 -1 -1 1 2 305
-1 -1 -1 1 2 39
-1 -1 -1 1 2 307____208
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 30
-1 -1 -1 1 2 311
-1 -1 -1 1 2 3390
-1 -1 -1 1 2 39
-1 -1 -1 1 2 32
-1 -1 -1 1 2 315
-1 -1 -1 1 2 39
-1 -1 -1 1 2 317
-1 -1 -1 1 2 318
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 320
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 322
-1 -1 -1 1 2 39____3396
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 326
-1 -1 -1 1 2 327
-1 -1 -1 1 2 32
-1 -1 -1 1 2 329
-1 -1 -1 1 2 3390
-1 -1 -1 1 2 39
-1 -1 -1 1 2 332
-1 -1 -1 1 2 333
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 3355
-1 -1 -1 1 2 336
-1 -1 -1 1 2 39
-1 -1 -1 1 2 338
-1 -1 -1 1 2 39
-1 -1 -1 1 2 32
-1 -1 -1 1 2 341
-1 -1 -1 1 2 39
-1 -1 -1 1 2 343
-1 -1 -1 1 2 39
-1 -1 -1 1 2 345
-1 -1 -1 1 2 39
-1 -1 -1 1 2 347
-1 -1 -1 1 2 39
-1 -1 -1 1 2 332
-1 -1 -1 1 2 350
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 352
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 3394
-1 -1 -1 1 2 39____3396
-1 -1 -1 1 2 39
-1 -1 -1 1 2 358
-1 -1 -1 1 2 39
-1 -1 -1 1 2 3355
-1 -1 -1 1 2 361
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 363
-1 -1 -1 1 2 364
-1 -1 -1 1 2 365
-1 -1 -1 1 2 30
-1 -1 -1 1 2 367____22
-1 -1 -1 1 2 369
-1 -1 -1 1 2 3390
-1 -1 -1 1 2 39
-1 -1 -1 1 2 32
-1 -1 -1 1 2 373
-1 -1 -1 1 2 39
-1 -1 -1 1 2 32
-1 -1 -1 1 2 376
-1 -1 -1 1 2 39
-1 -1 -1 1 2 32
-1 -1 -1 1 2 379
-1 -1 -1 1 2 39
-1 -1 -1 1 2 332
-1 -1 -1 1 2 382
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 384
-1 -1 -1 1 2 39
-1 -1 -1 1 2 332
-1 -1 -1 1 2 387
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 389
-1 -1 -1 1 2 39
-1 -1 -1 1 2 332
-1 -1 -1 1 2 392
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 394
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 396
-1 -1 -1 1 2 39____3396
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 33200
-1 -1 -1 1 2 30
-1 -1 -1 1 2 31____22____23
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33206
-1 -1 -1 1 2 3390
-1 -1 -1 1 2 39
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33210
-1 -1 -1 1 2 39____33212
-1 -1 -1 1 2 39____33214
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 33216
-1 -1 -1 1 2 30
-1 -1 -1 1 2 33218
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33220
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33222
-1 -1 -1 1 2 3390
-1 -1 -1 1 2 39____33225
-1 -1 -1 1 2 39
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33228
-1 -1 -1 1 2 33229
-1 -1 -1 1 2 39____33231
-1 -1 -1 1 2 39
-1 -1 -1 1 2 32____33234____33235
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33237
-1 -1 -1 1 2 39____33239
-1 -1 -1 1 2 39
-1 -1 -1 1 2 33241
-1 -1 -1 1 2 33242
-1 -1 -1 1 2 33243
-1 -1 -1 1 2 33244
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33246
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 332
-1 -1 -1 1 2 33249
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33251
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33253
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33255____33256
-1 -1 -1 1 2 33257
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33261
-1 -1 -1 1 2 3390
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33264
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33266
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 332
-1 -1 -1 1 2 33269
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 33251
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 33273
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33261
-1 -1 -1 1 2 3390
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 33280
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 33282
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 332
-1 -1 -1 1 2 33285
-1 -1 -1 1 2 33286
-1 -1 -1 1 2 33287
-1 -1 -1 1 2 33288
-1 -1 -1 1 2 33289____33290
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33294
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33255____33297
-1 -1 -1 1 2 33298
-1 -1 -1 1 2 33299
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33253
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 39____3396
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 33307
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33309
-1 -1 -1 1 2 3390
-1 -1 -1 1 2 39
-1 -1 -1 1 2 33312
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33314
-1 -1 -1 1 2 39
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33317
-1 -1 -1 1 2 39____33319
-1 -1 -1 1 2 39____33321
-1 -1 -1 1 2 39____3355
-1 -1 -1 1 2 33324
-1 -1 -1 1 2 3396
Java
-1 -1 -1 1 2 33326
-1 -1 -1 1 2 33327
-1 -1 -1 1 2 33328
-1 -1 -1 1 2 33327
-1 -1 -1 1 2 33330
-1 -1 -1 1 2 37
-1 -1 -1 1 2 33332
-1 -1 -1 1 2 39____33334
-1 -1 -1 1 2 39____33336
-1 -1 -1 1 2 39____33338
-1 -1 -1 1 2 33339____33340
-1 -1 -1 1 2 33341____33342
-1 -1 -1 1 2 39____33344
-1 -1 -1 1 2 39____33346
-1 -1 -1 1 2 39____33348
-1 -1 -1 1 2 39____33350
-1 -1 -1 1 2 33351
-1 -1 -1 1 2 39____33350
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33355
-1 -1 -1 1 2 39
-1 -1 -1 1 2 33350
-1 -1 -1 1 2 33358
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33360
-1 -1 -1 1 2 39____3390
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33364
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33366____33235
-1 -1 -1 1 2 33368
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33370
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33241
-1 -1 -1 1 2 33242
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33375
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33377
-1 -1 -1 1 2 33250____33379
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 332
-1 -1 -1 1 2 33382
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 33384
-1 -1 -1 1 2 33250____33334
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33388
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33390
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33392
-1 -1 -1 1 2 33250____33394
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33396
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33398
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33400
-1 -1 -1 1 2 33250____33402
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33348
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33261
-1 -1 -1 1 2 3390
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 332
-1 -1 -1 1 2 33410
-1 -1 -1 1 2 33286____33412
-1 -1 -1 1 2 33286____33384
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33420
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33422
-1 -1 -1 1 2 33250____33424
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 332
-1 -1 -1 1 2 33427
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 33429
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33261
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 33433______33340
-1 -1 -1 1 2 33435
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 3355
-1 -1 -1 1 2 33440
-1 -1 -1 1 2 39____3396
-1 -1 -1 1 2 39____33444
-1 -1 -1 1 2 39
-1 -1 -1 1 2 3331
-1 -1 -1 1 2 33350
-1 -1 -1 1 2 30
-1 -1 -1 1 2 33449
-1 -1 -1 1 2 39____3390
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33453____33235
-1 -1 -1 1 2 33455
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33457____33458
-1 -1 -1 1 2 33459
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33462
-1 -1 -1 1 2 33340
-1 -1 -1 1 2 33464
-1 -1 -1 1 2 33465
-1 -1 -1 1 2 33464
-1 -1 -1 1 2 33458
-1 -1 -1 1 2 33464
-1 -1 -1 1 2 33469
-1 -1 -1 1 2 33464
-1 -1 -1 1 2 33471
-1 -1 -1 1 2 33464
-1 -1 -1 1 2 33473
-1 -1 -1 1 2 3397
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33319
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33478
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33241
-1 -1 -1 1 2 33242
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33483
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33485____33297
-1 -1 -1 1 2 33487
-1 -1 -1 1 2 33488
-1 -1 -1 1 2 39____3396
-1 -1 -1 1 2 39____33492
-1 -1 -1 1 2 3396
C#
-1 -1 -1 1 2 33494
-1 -1 -1 1 2 335
-1 -1 -1 1 2 33496
-1 -1 -1 1 2 335
-1 -1 -1 1 2 33498
-1 -1 -1 1 2 3331
-1 -1 -1 1 2 37
-1 -1 -1 1 2 33332
-1 -1 -1 1 2 39____33334
-1 -1 -1 1 2 39____33336
-1 -1 -1 1 2 39____33338
-1 -1 -1 1 2 33339____33340
-1 -1 -1 1 2 33341____33342
-1 -1 -1 1 2 39____33344
-1 -1 -1 1 2 39____33346
-1 -1 -1 1 2 39____33348
-1 -1 -1 1 2 39
-1 -1 -1 1 2 33350
-1 -1 -1 1 2 33520
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33522
-1 -1 -1 1 2 39____33350
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33355
-1 -1 -1 1 2 39
-1 -1 -1 1 2 33350
-1 -1 -1 1 2 33529____22
-1 -1 -1 1 2 33531
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33533
-1 -1 -1 1 2 39____3390
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33364
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33529
-1 -1 -1 1 2 32____33541
-1 -1 -1 1 2 33235
-1 -1 -1 1 2 33529
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33545
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33370
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33549
-1 -1 -1 1 2 33242
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33552
-1 -1 -1 1 2 33553
-1 -1 -1 1 2 33554
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 3390
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33377
-1 -1 -1 1 2 33250____33379
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 332
-1 -1 -1 1 2 33563
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 33565
-1 -1 -1 1 2 33250____33334
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33388
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33390
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33392
-1 -1 -1 1 2 33250____33394
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33396
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33398
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33400
-1 -1 -1 1 2 33250____33402
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33348
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33261
-1 -1 -1 1 2 3390
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 332
-1 -1 -1 1 2 33591
-1 -1 -1 1 2 33286____33593
-1 -1 -1 1 2 33286
-1 -1 -1 1 2 33565
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33420
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33422
-1 -1 -1 1 2 33250____33424
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 332
-1 -1 -1 1 2 33608
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 33610
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33261
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 33614
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 3355
-1 -1 -1 1 2 33440
-1 -1 -1 1 2 39____3396
-1 -1 -1 1 2 39____33444
-1 -1 -1 1 2 39
-1 -1 -1 1 2 3331
-1 -1 -1 1 2 33350
-1 -1 -1 1 2 30
-1 -1 -1 1 2 33628
-1 -1 -1 1 2 39____3390
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33453____33235
-1 -1 -1 1 2 33520
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33545
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33638
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 32____33641
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33319
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33529____22
-1 -1 -1 1 2 33647
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33549
-1 -1 -1 1 2 33242
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33652
-1 -1 -1 1 2 33553
-1 -1 -1 1 2 33654
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33297
-1 -1 -1 1 2 33657
-1 -1 -1 1 2 33658
-1 -1 -1 1 2 33435
-1 -1 -1 1 2 39____3396
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 33663
Đầu ra
-1 -1 -1 1 2 312
Độ phức tạp về thời gian. O[N * log K]
Không gian phụ. O[K]
Dưới đây là việc triển khai phương pháp trên bằng cách sử dụng hàng đợi ưu tiên
C++
-1 -1 -1 1 2 33664
-1 -1 -1 1 2 334
-1 -1 -1 1 2 335
-1 -1 -1 1 2 336
-1 -1 -1 1 2 337
-1 -1 -1 1 2 33312
-1 -1 -1 1 2 32____33671
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33673
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33675
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33677
-1 -1 -1 1 2 3390
-1 -1 -1 1 2 39____33312
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33682
-1 -1 -1 1 2 39____33684
-1 -1 -1 1 2 39
-1 -1 -1 1 2 33686
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33688
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33690
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33692
-1 -1 -1 1 2 39____33694
-1 -1 -1 1 2 39
-1 -1 -1 1 2 33241
-1 -1 -1 1 2 33242
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33699
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33701
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33703
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 332
-1 -1 -1 1 2 33706
-1 -1 -1 1 2 33250____33708
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33261
-1 -1 -1 1 2 3390
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 332
-1 -1 -1 1 2 33714
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 33716
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 33708
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33724
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 332
-1 -1 -1 1 2 33706
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33729
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33261
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33733
-1 -1 -1 1 2 39____3396
-1 -1 -1 1 2 39____3355
-1 -1 -1 1 2 33738
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 33444
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33309
-1 -1 -1 1 2 3390
-1 -1 -1 1 2 39
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33746
-1 -1 -1 1 2 39
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33749
-1 -1 -1 1 2 39
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33752
-1 -1 -1 1 2 39____33319
-1 -1 -1 1 2 39____33312____22
-1 -1 -1 1 2 33758
-1 -1 -1 1 2 39
-1 -1 -1 1 2 33241
-1 -1 -1 1 2 33242______33243
-1 -1 -1 1 2 33763
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33765
-1 -1 -1 1 2 33766
-1 -1 -1 1 2 33459
-1 -1 -1 1 2 39____3355
-1 -1 -1 1 2 33324
-1 -1 -1 1 2 3396
Java
-1 -1 -1 1 2 33326
-1 -1 -1 1 2 33327
-1 -1 -1 1 2 33330
-1 -1 -1 1 2 37
-1 -1 -1 1 2 33332
-1 -1 -1 1 2 39
-1 -1 -1 1 2 33350
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33780
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33673
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33675
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33677
-1 -1 -1 1 2 39____3390
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 32____33791______33235
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33794
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33684
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33798
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33800
-1 -1 -1 1 2 33235
-1 -1 -1 1 2 33802
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33694
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33241
-1 -1 -1 1 2 33242
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33809
-1 -1 -1 1 2 33810
-1 -1 -1 1 2 33811
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33701
-1 -1 -1 1 2 33250____33703
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 332
-1 -1 -1 1 2 33706
-1 -1 -1 1 2 33270____33820
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33261
-1 -1 -1 1 2 3390
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 332
-1 -1 -1 1 2 33826
-1 -1 -1 1 2 33286
-1 -1 -1 1 2 33828
-1 -1 -1 1 2 33286
-1 -1 -1 1 2 33820
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33724
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 332
-1 -1 -1 1 2 33706
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 33841
-1 -1 -1 1 2 33340
-1 -1 -1 1 2 33459
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33261
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 33847
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 3355
-1 -1 -1 1 2 33738
-1 -1 -1 1 2 39____3396
-1 -1 -1 1 2 39____33444
-1 -1 -1 1 2 39
-1 -1 -1 1 2 3331
-1 -1 -1 1 2 33350
-1 -1 -1 1 2 30
-1 -1 -1 1 2 33449
-1 -1 -1 1 2 39____3390
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33866
-1 -1 -1 1 2 33473
-1 -1 -1 1 2 33459
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33462
-1 -1 -1 1 2 33340
-1 -1 -1 1 2 33464
-1 -1 -1 1 2 33465
-1 -1 -1 1 2 33464
-1 -1 -1 1 2 33458
-1 -1 -1 1 2 33464
-1 -1 -1 1 2 33469
-1 -1 -1 1 2 33464
-1 -1 -1 1 2 33471
-1 -1 -1 1 2 33464
-1 -1 -1 1 2 33473
-1 -1 -1 1 2 3397
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33457
-1 -1 -1 1 2 33469
-1 -1 -1 1 2 33459
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33319
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 32____33893
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33241
-1 -1 -1 1 2 33242
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33763
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33900
-1 -1 -1 1 2 33766
-1 -1 -1 1 2 33435
-1 -1 -1 1 2 39____3396
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 33663
Python3
-1 -1 -1 1 2 33907
-1 -1 -1 1 2 33908
-1 -1 -1 1 2 33909____33327
-1 -1 -1 1 2 33911
-1 -1 -1 1 2 33912
-1 -1 -1 1 2 33913
-1 -1 -1 1 2 39
-1 -1 -1 1 2 33915
-1 -1 -1 1 2 33800
-1 -1 -1 1 2 33917
-1 -1 -1 1 2 33810______33919
-1 -1 -1 1 2 33920
-1 -1 -1 1 2 33921
-1 -1 -1 1 2 39____33923
-1 -1 -1 1 2 39
-1 -1 -1 1 2 33925
-1 -1 -1 1 2 33800
-1 -1 -1 1 2 33927
-1 -1 -1 1 2 39____33929
-1 -1 -1 1 2 39____33241
-1 -1 -1 1 2 33932____33553
-1 -1 -1 1 2 33934
-1 -1 -1 1 2 33935
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33937
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33939
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 332
-1 -1 -1 1 2 33942
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33944
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33261____3332
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 332
-1 -1 -1 1 2 33950
-1 -1 -1 1 2 33810
-1 -1 -1 1 2 33952
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 33954
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 33944
-1 -1 -1 1 2 39____33958
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 332
-1 -1 -1 1 2 33942
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33963____33800
-1 -1 -1 1 2 33965
-1 -1 -1 1 2 33340
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33261____3332
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33963____33800
-1 -1 -1 1 2 33973
-1 -1 -1 1 2 33810
-1 -1 -1 1 2 33919
-1 -1 -1 1 2 39____3355
-1 -1 -1 1 2 33915
-1 -1 -1 1 2 33979
-1 -1 -1 1 2 332
-1 -1 -1 1 2 33981______33800
-1 -1 -1 1 2 33800
-1 -1 -1 1 2 33984
-1 -1 -1 1 2 3332
-1 -1 -1 1 2 39____33921____33800
-1 -1 -1 1 2 33473
-1 -1 -1 1 2 39
-1 -1 -1 1 2 33991
-1 -1 -1 1 2 33800
-1 -1 -1 1 2 33917
-1 -1 -1 1 2 33340
-1 -1 -1 1 2 33464
-1 -1 -1 1 2 33465
-1 -1 -1 1 2 33464
-1 -1 -1 1 2 33458
-1 -1 -1 1 2 33464
-1 -1 -1 1 2 33469
-1 -1 -1 1 2 33464
-1 -1 -1 1 2 33471
-1 -1 -1 1 2 33464
-1 -1 -1 1 2 33473
-1 -1 -1 1 2 33919
-1 -1 -1 1 2 39
-1 -1 -1 1 2 3007____33800
-1 -1 -1 1 2 33469
-1 -1 -1 1 2 39
-1 -1 -1 1 2 3011
-1 -1 -1 1 2 39
-1 -1 -1 1 2 3013____33800
-1 -1 -1 1 2 3015
-1 -1 -1 1 2 39
-1 -1 -1 1 2 3017______33242______33920
-1 -1 -1 1 2 3020
-1 -1 -1 1 2 3021
C#
-1 -1 -1 1 2 33494
-1 -1 -1 1 2 335
-1 -1 -1 1 2 33496
-1 -1 -1 1 2 335
-1 -1 -1 1 2 33498
-1 -1 -1 1 2 3331
-1 -1 -1 1 2 37
-1 -1 -1 1 2 33332
-1 -1 -1 1 2 39
-1 -1 -1 1 2 33350
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33780
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33673
-1 -1 -1 1 2 32
-1 -1 -1 1 2 3037
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33677
-1 -1 -1 1 2 39____3390
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 32____33791______33235
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33794
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33684
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33529
-1 -1 -1 1 2 32____2053
-1 -1 -1 1 2 33235
-1 -1 -1 1 2 33529
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33545
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33694
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33241
-1 -1 -1 1 2 33242
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33699
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33701
-1 -1 -1 1 2 33250____33703
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 332
-1 -1 -1 1 2 3071
-1 -1 -1 1 2 33270____2073
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33261
-1 -1 -1 1 2 3390
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 332
-1 -1 -1 1 2 3079
-1 -1 -1 1 2 33286____2081
-1 -1 -1 1 2 33286____2083
-1 -1 -1 1 2 33286____2073
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33724
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 332
-1 -1 -1 1 2 3071
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 33729
-1 -1 -1 1 2 33250
-1 -1 -1 1 2 33261
-1 -1 -1 1 2 33270
-1 -1 -1 1 2 3100
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 3355
-1 -1 -1 1 2 33738
-1 -1 -1 1 2 39____3396
-1 -1 -1 1 2 39____33444
-1 -1 -1 1 2 39
-1 -1 -1 1 2 3331
-1 -1 -1 1 2 33350
-1 -1 -1 1 2 30
-1 -1 -1 1 2 33628
-1 -1 -1 1 2 39____3390
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33746
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 32____33641
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 32
-1 -1 -1 1 2 33752
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33319
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 32____33893
-1 -1 -1 1 2 3346
-1 -1 -1 1 2 33549
-1 -1 -1 1 2 33242
-1 -1 -1 1 2 32
-1 -1 -1 1 2 3135
-1 -1 -1 1 2 33553
-1 -1 -1 1 2 3137
-1 -1 -1 1 2 33766
-1 -1 -1 1 2 33435
-1 -1 -1 1 2 39____3396
-1 -1 -1 1 2 3396
-1 -1 -1 1 2 3143
Đầu ra
-1 -1 -1 1 2 3
Độ phức tạp về thời gian. O[N * log K]
Không gian phụ. O[K]
Bài viết liên quan.
Phần tử nhỏ nhất/lớn nhất của K trong mảng chưa sắp xếp. Đặt 1
Phần tử nhỏ nhất/lớn thứ K trong mảng chưa sắp xếp. Tập 2 [Thời gian tuyến tính dự kiến]
Phần tử nhỏ nhất/lớn thứ K trong mảng chưa sắp xếp. Bộ 3 [Thời gian Tuyến tính Trường hợp Xấu nhất]
Bài viết này được đóng góp bởi Shivam Gupta. Vui lòng viết bình luận nếu bạn thấy bất cứ điều gì không chính xác hoặc bạn muốn chia sẻ thêm thông tin về chủ đề thảo luận ở trên