Advertisement
rishu110067

Untitled

Feb 13th, 2022
1,069
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.64 KB | None | 0 0
  1. class Twitter {
  2.    
  3.     Map<Integer, Set<Integer>> follow;
  4.     ArrayList<ArrayList<Integer>> tweet;
  5.    
  6.     public Twitter() {
  7.         this.follow = new HashMap<Integer, Set<Integer>> ();
  8.         this.tweet = new ArrayList<ArrayList<Integer>> ();
  9.     }
  10.    
  11.     public void postTweet(int userId, int tweetId) {
  12.         tweet.add(new ArrayList<Integer>(List.of(userId, tweetId)));
  13.     }
  14.    
  15.     public List<Integer> getNewsFeed(int userId) {
  16.         ArrayList<Integer> NewsFeed = new ArrayList<Integer> ();
  17.         for(int i = tweet.size() - 1; i >= 0 && NewsFeed.size() < 10; i--)
  18.         {
  19.             int tweetUserId = tweet.get(i).get(0);
  20.             int tweetId = tweet.get(i).get(1);
  21.            
  22.             if(tweet.get(i).get(0) == userId) {
  23.                 NewsFeed.add(tweetId);
  24.             }
  25.             else if(follow.containsKey(userId) && follow.get(userId).contains(tweetUserId)) {
  26.                 NewsFeed.add(tweetId);
  27.             }
  28.         }
  29.         return NewsFeed;
  30.     }
  31.    
  32.     public void follow(int followerId, int followeeId) {
  33.         follow.putIfAbsent(followerId, new HashSet<Integer> ());
  34.         follow.get(followerId).add(followeeId);
  35.     }
  36.    
  37.     public void unfollow(int followerId, int followeeId) {
  38.         if(follow.containsKey(followerId)) {
  39.             follow.get(followerId).remove(followeeId);
  40.         }
  41.     }
  42. }
  43.  
  44. /**
  45.  * Your Twitter object will be instantiated and called as such:
  46.  * Twitter obj = new Twitter();
  47.  * obj.postTweet(userId,tweetId);
  48.  * List<Integer> param_2 = obj.getNewsFeed(userId);
  49.  * obj.follow(followerId,followeeId);
  50.  * obj.unfollow(followerId,followeeId);
  51.  */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement