Ngày: 22 tháng 7 năm 2019
Lĩnh vực: Link đăng nhập Saigon777 Tặng 50k Công nghệ thông tin
Mô tả Bài Toán
Thiết kế một phiên bản đơn giản của mạng xã hội Twitter. Hệ thống này cần hỗ trợ các chức năng cơ bản như: đăng bài viết, theo dõi hoặc hủy theo dõi người dùng khác và hiển thị dòng thời gian với 10 bài viết gần đây nhất.
Hệ thống cần cung cấp các phương thức sau:
- a) postTweet(userId, tweetId): Đăng một bài Rik66 Club Game Bài 52Play viết mới.
- b) getNewsFeed(userId): Trả về danh sách ID của 10 bài viết gần đây nhất trong dòng thời gian của người dùng. Các bài viết này có thể do chính họ đăng hoặc bởi những người mà họ đang theo dõi. Kết quả phải được sắp xếp theo thứ tự thời gian từ gần nhất đến xa nhất.
- c) follow(followerId, followeeId): Người dùng followerId bắt đầu theo dõi người dùng followeeId.
- d) unfollow(followerId, followeeId): Người dùng followerId ngừng theo dõi người dùng followeeId.
Ví dụ:
Twitter twitter := new(Twitter)
// Người dùng 1 đăng bài viết mới (ID = 5).
twitter.postTweet(1, 5)
// Dòng thời gian của người dùng 1 nên trả về danh sách gồm 1 ID bài viết -> [5].
twitter.getNewsFeed(1)
// Người dùng 1 bắt đầu theo dõi người dùng 2.
twitter.follow(1, 2)
// Người dùng 2 đăng bài viết mới (ID = 6).
twitter.postTweet(2, 6)
// Dòng thời gian của người dùng 1 nên trả về danh sách gồm 2 ID bài viết -> [6, 5].
// ID bài viết 6 sẽ xuất hiện trước ID bài viết 5 vì nó được đăng sau bài viết 5.
twitter.getNewsFeed(1)
// Người dùng 1 ngừng theo dõi người dùng 2.
twitter.unfollow(1, 2)
// Dòng thời gian của người dùng 1 nên trả về danh sách gồm 1 ID bài viết -> [5],
// vì người dùng 1 không còn theo dõi người dùng 2 nữa.
twitter.getNewsFeed(1)
Nguồn gốc i9bet41 bài toán: LeetCode