Phần tử lớn thứ k trong luồng javascript
Thiết kế một lớp để tìm phần tử lớn thứ K trong một dòng số một cách hiệu quả. Lớp học nên có hai điều sau đây. Show Hàm tạo của lớp phải chấp nhận một mảng số nguyên chứa các số ban đầu từ luồng và một số nguyên 'K' Lớp sẽ hiển thị một hàm add(int num) sẽ lưu số đã cho và trả về số lớn nhất thứ K Những gì tôi đã thử tôi không biết làm thế nào để giải quyết vấn đề này Tạo một mảng gồm K phần tử, điền trước nó bằng số nhỏ nhất mà nó có thể chứa. Bạn cần hiểu rằng Bài tập về nhà được đưa ra là có lý do. Và lý do chính là để chuẩn bị cho bạn các nhiệm vụ công việc trong thế giới thực Ngoài ra, bạn thậm chí không cần google câu hỏi, nếu không, bạn đã tìm ra giải pháp như bên dưới trong vòng chưa đầy một phút Phần tử lớn thứ K trong luồng - GeekforGeek[^] Bạn phải hiểu rằng không có con đường tắt của Thành công Thêm giải pháp của bạn ở đây B I U S small BIG code Xem trước 0thành viên hiện cóhoặc tham gia với chúng tôiTải xuống, Bình chọn, Nhận xét, Xuất bản Email của bạnEmail này đang được sử dụng. Bạn có cần mật khẩu của bạn? Mật khẩu tùy chọnKhi trả lời câu hỏi, vui lòng.
Nội dung này, cùng với bất kỳ tệp và mã nguồn liên quan nào, được cấp phép theo Giấy phép Mở Dự án Code (CPOL) Đưa ra một luồng số nguyên vô hạn, trả về phần tử đại diện cho phần tử lớn nhất của Trong bài viết trước, chúng ta đã thảo luận về một số phương pháp để tìm Đầu vào. Dòng số nguyên vô hạn
1. Giải pháp Brute-ForceMột giải pháp đơn giản là duy trì một mảng có kích thước Ý tưởng là so sánh từng phần tử đến Độ phức tạp về thời gian của heapify() là O(N), heappush() và heappop() đều là O(log N). Thao tác bật lên là O(log N) vì bạn cần sửa đổi vị trí của phần tử khác để duy trì đống Phần tử lớn thứ K trong một luồng - LeetCodeNâng cao kỹ năng mã hóa của bạn và nhanh chóng tìm được việc làm. Đây là nơi tốt nhất để mở rộng kiến thức của bạn và chuẩn bị…mật mã. com Ghi chú. Khi câu hỏi yêu cầu giá trị thứ k, hãy nghĩ đến việc sử dụng Heap Lấy ví dụ 1 làm ví dụ Để có được mục lớn thứ 3 trong danh sách đã cho [4,5,8,2], chúng tôi lấy mục từ mục lớn nhất đến mục thứ 3 8 -> 5 -> 4, biến chúng thành một danh sách được xem xét. Và 2 sẽ không bao giờ được xem xét cho dù mục tiếp theo được thêm vào Khi một mục được thêm vào, xác định xem nó có lớn hơn số nhỏ nhất trong danh sách được xem xét hay không, nếu có, hãy lấy ra mục nhỏ nhất trong danh sách được xem xét và đẩy mục đó vào danh sách |