Ít nhất

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
Python, Scratch

Trong một hệ thống theo dõi dữ liệu, mỗi mục được ghi lại dưới dạng một danh sách các giá trị. Ban quản lý muốn loại bỏ tất cả các mục xuất hiện ít nhất trong danh sách để tập trung vào các mục phổ biến hơn.

Hãy viết chương trình xác định và loại bỏ tất cả các phần tử có số lần xuất hiện ít nhất trong danh sách.

Dữ liệu vào
  • Dòng đầu tiên chứa số tự nhiên ~N~ là số lượng phần tử trong danh sách ~(1≤N≤100)~.
  • Dòng thứ hai chứa ~N~ số tự nhiên là các phần tử của danh sách.
Dữ liệu ra
  • Một dòng chứa danh sách các số còn lại sau khi xóa tất cả các số xuất hiện ít nhất và thứ tự không bị xáo trộn. Nếu danh sách rỗng, in ra -1.
Ví dụ
Input 1
10
3 1 2 3 4 2 4 5 5 3
Output 1
3 2 3 4 2 4 5 5 3
Note
  • Số ~1~ có số lần xuất hiện ít nhất nên xóa số ~1~ khỏi danh sách.
Input 2
5
3 3 3 3 3
Output 2
-1
Note
  • Số ~3~ có số lần xuất hiện ít nhất nên xóa hết các số ~3~. Danh sách không còn phần tử nào.
Input 3
9
5 3 5 3 2 5 2 1 1
Output 3
5 5 5
Note
  • Số ~1~, ~2~ và ~3~ có số lần xuất hiện ít nhất nên xóa hết các số ~1~, ~2~ và ~3~.

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    NahImNotBtBro  đã bình luận lúc 22, Tháng 4, 2025, 13:43

    code nè:

    from collections import Counter

    N = int(input()) arr = list(map(int, input().split())) freq = Counter(arr) minfreq = min(freq.values()) res = [x for x in arr if freq[x] > minfreq] print(' '.join(map(str, res)) if res else '-1') thuhien09cvh2


  • 1
    nguyenvu0511  đã bình luận lúc 21, Tháng 4, 2025, 13:59 sửa 2

    hi


  • -1
    thuhien09cvh2  đã bình luận lúc 15, Tháng 4, 2025, 8:57

    cứu tôi với khó quá