Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi
    solution
    Đăng nhập
    Đăng nhập

    Đề bài: Hợp, giao và hiệu của hai tập hợp số nguyên

    📖Cần ôn lý thuyết? Đọc bài giảng Buổi 7: Lập trình tổng quát và khung Collections — khóa Lập trình Java

    Cho hai dãy số nguyên A và B. Coi như mỗi dãy là một tập hợp (loại bỏ trùng trong dãy). Hãy tính và in ra:

    1. A ∪ B (hợp)
    2. A ∩ B (giao)
    3. A \ B (hiệu A trừ B — phần tử có trong A nhưng không có trong B)

    Mỗi tập in trên một dòng theo thứ tự tăng dần. Dùng HashSet và TreeSet.

    • Định dạng đầu vào:
      • Dòng 1: nA
      • Dòng 2: nA số nguyên (có thể trùng)
      • Dòng 3: nB
      • Dòng 4: nB số nguyên (có thể trùng)
    • Ràng buộc đầu vào:
      • 0 ≤ nA, nB ≤ 10⁵
      • |giá trị| ≤ 10⁹
    • Định dạng đầu ra:
      • Dòng 1: UNION: rồi các phần tử cách nhau bởi dấu cách.
      • Dòng 2: INTERSECT: rồi các phần tử.
      • Dòng 3: DIFF: rồi các phần tử. Nếu tập rỗng thì chỉ in nhãn rồi xuống dòng.

    Ví dụ:

    Đầu vào:

    5
    1 2 2 3 4
    4
    3 4 5 5
    

    Đầu ra:

    UNION: 1 2 3 4 5
    INTERSECT: 3 4
    DIFF: 1 2
    

    Giải thích:

    A={1,2,3,4}, B={3,4,5}. UNION={1,2,3,4,5}; INTERSECT={3,4}; DIFF=A\B={1,2}.

    Đầu vào:

    3
    1 2 3
    0
    
    

    Đầu ra:

    UNION: 1 2 3
    INTERSECT:
    DIFF: 1 2 3
    

    Giải thích:

    B rỗng → UNION=A={1,2,3}; INTERSECT rỗng; DIFF=A={1,2,3}.

    Đầu vào:

    0
    
    0
    
    

    Đầu ra:

    UNION:
    INTERSECT:
    DIFF:
    

    Đầu vào:

    4
    -2 -1 0 1
    4
    -1 0 1 2
    

    Đầu ra:

    UNION: -2 -1 0 1 2
    INTERSECT: -1 0 1
    DIFF: -2
    

    Chủ đề

    ☕ JavaJavaCollections FrameworkTất cả môn học

    Đang tải editor...