Chào mọi người,
Hôm nay một nhóc học CNTT (không phải trường mình) có hỏi mình một bài toán về duyệt mảng một chiều nhưng cách giải của em thì không vừa lòng nó. Bài toán như sau:
"Cho một mảng số nguyên, in ra các phần tử (a) chỉ xuất hiện duy nhất một lần, (b) xuất hiện nhiều hơn 1 lần và không được in trùng."
Vd: arr[15] = {1, 2, 3, 4, 1, 6, 2, 3, 7, 1, 7, 1, 8, 4, 1};
thì dòng 1 in ra là: 6, 8
dòng 2 in ra là: 1, 2, 3, 4, 7
Về cách giải quyết câu a thì không cần phải bàn. Vấn đề nằm ở câu b, vì không chuyên tâm vào cái này nên cách của mình là sử dụng thêm một mảng, và bắt đầu với việc duyệt mảng ban đầu, gặp phần tử nào chưa trùng thì lưu nó vào mảng, cuối cùng là in ra mảng này. Nhưng thằng nhóc không chịu vì nó nói không muốn dùng mảng để lưu, nó muốn duyệt mảng ban đầu trực tiếp rồi in ra luôn.
Vì thế bạn nào có cách giải thỏa được lòng thằng nhóc thì đưa ra cùng thảo luận.
Hôm nay một nhóc học CNTT (không phải trường mình) có hỏi mình một bài toán về duyệt mảng một chiều nhưng cách giải của em thì không vừa lòng nó. Bài toán như sau:
"Cho một mảng số nguyên, in ra các phần tử (a) chỉ xuất hiện duy nhất một lần, (b) xuất hiện nhiều hơn 1 lần và không được in trùng."
Vd: arr[15] = {1, 2, 3, 4, 1, 6, 2, 3, 7, 1, 7, 1, 8, 4, 1};
thì dòng 1 in ra là: 6, 8
dòng 2 in ra là: 1, 2, 3, 4, 7
Về cách giải quyết câu a thì không cần phải bàn. Vấn đề nằm ở câu b, vì không chuyên tâm vào cái này nên cách của mình là sử dụng thêm một mảng, và bắt đầu với việc duyệt mảng ban đầu, gặp phần tử nào chưa trùng thì lưu nó vào mảng, cuối cùng là in ra mảng này. Nhưng thằng nhóc không chịu vì nó nói không muốn dùng mảng để lưu, nó muốn duyệt mảng ban đầu trực tiếp rồi in ra luôn.
Vì thế bạn nào có cách giải thỏa được lòng thằng nhóc thì đưa ra cùng thảo luận.
Comment