Câu hỏi:

11/05/2023 208

Cho dãy số A, cần tìm phần tử mốt (mode) của A. Phần tử mốt là phần tử có số lần xuất hiện nhiều nhất trong A. Nếu tồn tại nhiều thì chỉ yêu cầu tìm ra một phần tử mốt. Yêu cầu sử dụng kĩ thuật chia để trị.

Sách mới 2k7: 30 đề đánh giá năng lực DHQG Hà Nội, Tp. Hồ Chí Minh, BKHN 2025 mới nhất (chỉ từ 110k).

Mua bộ đề Hà Nội Mua bộ đề Tp. Hồ Chí Minh Mua đề Bách Khoa

Quảng cáo

Trả lời:

verified
Giải bởi Vietjack

Để tìm phần tử xuất hiện nhiều lần nhất trong dãy, ta có thể sử dụng phương pháp chia để trị (divide and conquer) bằng cách chia dãy thành hai phần và tìm phần tử xuất hiện nhiều lần nhất trong mỗi phần, sau đó so sánh và lấy phần tử xuất hiện nhiều lần nhất trong cả hai phần.

Cho dãy số A, cần tìm phần tử mốt (mode) của A. Phần tử mốt là phần tử có số lần xuất (ảnh 1)

Ví dụ:

Cho dãy số A, cần tìm phần tử mốt (mode) của A. Phần tử mốt là phần tử có số lần xuất (ảnh 2)

Kết quả: “Phần tử xuất hiện nhiều nhất là 5, số lần xuất hiện là 3

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Câu 1:

Cho một dãy số bất kì A[0], A[1]..., A[n – 1]. Một tổng con được định nghĩa là tổng của một dãy con liên tục dạngSi, j = Ai + Ai + 1 + ... +Aj . Bài toán yêu cầu tìm và chỉ ra một tổng con và dãy con tương ứng có giá trị lớn nhất. Yêu cầu sử dụng kĩ thuật chia để trị.

Xem đáp án » 12/07/2024 876

Câu 2:

Nâng cấp chương trình của nhiệm vụ 1 với yêu cầu bổ sung: Cần đưa ra kết quả là số lượng các cặp nghịch đảo và toàn bộ dãy các cặp chỉ số nghịch đảo đã tìm thấy. Ví dụ với A = [4, 5, 2, 10, 4] thì chương trình sẽ đưa ra giá trị 4 và dãy [(4, 2), (5, 2), (5, 4), (1, 4)].

Xem đáp án » 12/07/2024 166

Câu 3:

Khi làm việc với các danh sách mảng, nhiều trường hợp đòi hỏi cần kiềm ra các danh sách mảng đã được sắp thứ tự để áp dụng thuật toán phù hợp. Cho một dãy số, theo em làm thế nào để xác định dãy số đã được sắp xếp theo thứ tự tăng dần hoặc giảm dần?

Xem đáp án » 12/07/2024 121

Bình luận


Bình luận