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: Tìm đồng thời min và max của mảng số nguyên bằng đa luồng

    📖Cần ôn lý thuyết? Đọc bài giảng Buổi 9: Lập trình đa luồng — khóa Lập trình Java

    Cho mảng N số nguyên. Hãy chia mảng cho K luồng, mỗi luồng tính min và max cục bộ trên phần mình phụ trách. Sau khi tất cả luồng kết thúc, tổng hợp ra min và max toàn cục.

    1. Định nghĩa lớp MinMaxThread extends Thread lưu min/max cục bộ trong 2 trường.
    2. Tạo K luồng, gọi start() rồi join().
    3. In min max cách nhau bởi 1 dấu cách.
    • Định dạng đầu vào:
      • Dòng 1: N (1 ≤ N ≤ 10⁶)
      • Dòng 2: N số nguyên
      • Dòng 3: K (số luồng)
    • Ràng buộc đầu vào:

      |giá trị| ≤ 10⁹

    • Định dạng đầu ra:

      Một dòng: <min> <max>

    Ví dụ:

    Đầu vào:

    8
    3 7 -1 9 0 12 5 -8
    4
    

    Đầu ra:

    -8 12
    

    Giải thích:

    Min = -8 (cuối mảng), Max = 12. 4 thread mỗi thread 2 phần tử.

    Đầu vào:

    5
    1 1 1 1 1
    2
    

    Đầu ra:

    1 1
    

    Giải thích:

    Tất cả phần tử bằng nhau → min = max = 1.

    Đầu vào:

    1
    42
    1
    

    Đầu ra:

    42 42
    

    Giải thích:

    Mảng 1 phần tử → min = max = 42.

    Đầu vào:

    6
    1000000000 -1000000000 0 5 -5 999999999
    3
    

    Đầu ra:

    -1000000000 1000000000
    

    Giải thích:

    Test giá trị biên int.

    Chủ đề

    ☕ JavaJavaThreadTất cả môn học

    Đang tải editor...