Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Go] Đếm tần suất song song trên shards

    Cho N từ. Chia thành M shard liên tiếp. Mỗi shard do một goroutine đếm tần suất (map[string]int) cục bộ rồi gửi map đó qua channel. Main thu M map, merge thành map toàn cục, in các cặp (từ, tần suất) sort theo từ tăng dần (lexicographic), mỗi cặp 1 dòng dạng "word count".

    • Định dạng đầu vào:

      Dòng 1: N M (1 ≤ M ≤ N ≤ 10^4). Dòng 2: N từ cách nhau bởi dấu cách (mỗi từ là chuỗi chữ thường a-z, độ dài ≤ 20).

    • Ràng buộc đầu vào:

      N ≤ 10^4; M ≤ N

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

      Mỗi dòng "word count" sort theo word tăng dần.

    Ví dụ:

    Đầu vào:

    7 3
    a b a c b a d
    

    Đầu ra:

    a 3
    b 2
    c 1
    d 1

    Giải thích:

    7 từ chia 3 shard. Mỗi shard có map cục bộ, gửi qua channel. Merge: a=3,b=2,c=1,d=1. Sort key: a 3 / b 2 / c 1 / d 1.

    Đang tải editor...