Câu hỏi:
23/07/2024 109Cho trước dãy số A, cần tìm một phần tử được lặp lại nhiều nhất đồng thời với số lần lặp trong A. Ví dụ nếu A = [1, 3, 5, 0, 1, 2, 3, 4, 10, 1] thì lời giải cần trả về bộ giá trị (1, 3).
Với bài toán trên, một người thiết kế đã phác thảo các bước thực hiện như sau: 1) Thiết lập hàm lap(x) tính số lần lặp của phần tử x trong A.
2) Thiết lập dãy B, các phần tử của B là số lần lặp tương ứng của các phần tử của A.
3) Tính giá trị max của B, từ đó tìm ra phần tử tương ứng của A.
Em hãy chi tiết hoá các bước trên, từ đó tìm ra lời giải của bài toán.
Trả lời:
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 1:
Viết chương trình nhập danh sách họ tên các bạn lớp em. Danh sách này được lưu trong tệp văn bản HS.inp, mỗi dòng ghi tên đầy đủ của một học sinh bao gồm cả họ, tên đệm và tên. Sau đó, nhập từ bàn phim một họ, ví dụ nhập Nguyễn". Chương trình kiểm tra và thông báo, ví dụ: Lớp em có 4 bạn họ Nguyễn.
Viết chương trình nhập danh sách họ tên các bạn lớp em. Danh sách này được lưu trong tệp văn bản HS.inp, mỗi dòng ghi tên đầy đủ của một học sinh bao gồm cả họ, tên đệm và tên. Sau đó, nhập từ bàn phim một họ, ví dụ nhập Nguyễn". Chương trình kiểm tra và thông báo, ví dụ: Lớp em có 4 bạn họ Nguyễn.
Câu 2:
Thiết kế thuật toán và chương trình cho bài toán sau bằng phương pháp làm mịn dần, hãy mô tả chi tiết các bước:
Cho trước dãy số A, viết chương trình kiểm tra xem dãy A có phải là đơn điệu tăng hay không. Dãy A được gọi là đơn điệu tăng nếu thoả mãn:
A[0] SA[1] S... SA[n-1].
Thiết kế thuật toán và chương trình cho bài toán sau bằng phương pháp làm mịn dần, hãy mô tả chi tiết các bước:
Cho trước dãy số A, viết chương trình kiểm tra xem dãy A có phải là đơn điệu tăng hay không. Dãy A được gọi là đơn điệu tăng nếu thoả mãn:
A[0] SA[1] S... SA[n-1].
Câu 3:
Thiết kế thuật toán và chương trình cho bài toán sau bằng phương pháp làm mịn dần, hãy mô tả chi tiết các bước:
Cho trước dãy số A bất kì. Cần thiết lập dãy số B có tính chất sau: Các phần tử của B sẽ khác nhau từng đôi một và mỗi số của B đều có thể phân tích thành tổng của hai số lấy từ dãy A.
Thiết kế thuật toán và chương trình cho bài toán sau bằng phương pháp làm mịn dần, hãy mô tả chi tiết các bước:
Cho trước dãy số A bất kì. Cần thiết lập dãy số B có tính chất sau: Các phần tử của B sẽ khác nhau từng đôi một và mỗi số của B đều có thể phân tích thành tổng của hai số lấy từ dãy A.
Câu 4:
Thiết kế thuật toán và chương trình cho bài toán sau bằng phương pháp làm mịn dần, hãy mô tả chi tiết các bước:
Cho trước hai xâu kí tự s1 và s2. Tìm xâu s dài nhất sao cho xâu s đồng thời là phần đầu (prefix) của cả hai xâu s1 và s2.
Thiết kế thuật toán và chương trình cho bài toán sau bằng phương pháp làm mịn dần, hãy mô tả chi tiết các bước:
Cho trước hai xâu kí tự s1 và s2. Tìm xâu s dài nhất sao cho xâu s đồng thời là phần đầu (prefix) của cả hai xâu s1 và s2.
Câu 5:
Bài toán tương tự Câu 27.6, nhưng câu hỏi là nhập tên và kiểm tra theo tên của học sinh.
Bài toán tương tự Câu 27.6, nhưng câu hỏi là nhập tên và kiểm tra theo tên của học sinh.
Câu 6:
Việc giải bài toán sắp xếp danh sách A được phác thảo các bước thực hiện như sau:
1) Tìm tất cả các cặp chỉ số (i, j) của danh sách A với i < j.
2) Với mỗi cặp chỉ số (i, j) đã tìm được trong bước trên, nếu A[i] > A[j] thì đổi chỗ hai phần tử này.
Em hãy chi tiết hoá các công việc trên, từ đó tìm ra lời giải của bài toán.
Việc giải bài toán sắp xếp danh sách A được phác thảo các bước thực hiện như sau:
1) Tìm tất cả các cặp chỉ số (i, j) của danh sách A với i < j.
2) Với mỗi cặp chỉ số (i, j) đã tìm được trong bước trên, nếu A[i] > A[j] thì đổi chỗ hai phần tử này.
Em hãy chi tiết hoá các công việc trên, từ đó tìm ra lời giải của bài toán.