简化版的推特(Twitter)
class Twitter {//key 关注人 Value: Set<Integer> 被关注人HashMap<Integer, HashSet<Integer>> followMap;//key twitterId Value: userIdLinkedHashMap<Integer, Integer> twitterMap;public Twitter() {followMap = new HashMap<>();twitterMap = new LinkedHashMap<>(16, 0.75f, false);}public void postTweet(Integer userId, Integer twitterId) {twitterMap.put(twitterId, userId);//首次发Tweet 自己关注自己为了使用起来linkHashMap的能力HashSet<Integer> selfSet = followMap.get(userId);if (selfSet == null) {selfSet = new HashSet<>();followMap.put(userId, selfSet);}selfSet.add(userId);}public List<Integer> getNewsFeed(Integer userId) {List<Integer> tmpResult = new ArrayList<>();Set<Integer> followedSet = followMap.get(userId);for (Map.Entry<Integer, Integer> entry : twitterMap.entrySet()) {if (followedSet.contains(entry.getValue())) {tmpResult.add(entry.getKey());}}Collections.reverse(tmpResult);ArrayList<Integer> result = new ArrayList<>();int max = tmpResult.size() > 10 ? 10 : tmpResult.size();for (int i = 0; i < max; i++) {result.add(tmpResult.get(i));}return result;}public void follow(Integer follower, Integer followed) {HashSet<Integer> followedSet = followMap.get(follower);if (followedSet == null) {followedSet = new HashSet<>();followMap.put(follower, followedSet);}followedSet.add(followed);}public void unfollow(Integer follower, Integer followed) {Set<Integer> followedSet = followMap.get(follower);if (followedSet != null) {followedSet.remove(followed);}}
}/*** Your Twitter object will be instantiated and called as such:* Twitter obj = new Twitter();* obj.postTweet(userId,tweetId);* List<Integer> param_2 = obj.getNewsFeed(userId);* obj.follow(followerId,followeeId);* obj.unfollow(followerId,followeeId);*/
简化版的推特(Twitter)相关推荐
- 推特(twitter)翻译
推特(twitter)翻译 本人开发了一个翻译推特的插件,打开twitter网站后会把帖子英文翻译成中文,翻译api用的google translate.后期会把youtubet自动显示中文字幕的功能 ...
- R语言对推特twitter数据进行文本情感分析
原文链接:http://tecdat.cn/?p=4012 我们以R语言抓取的推特数据为例,对数据进行文本挖掘,进一步进行情感分析,从而得到很多有趣的信息(点击文末"阅读原文"获取 ...
- PHP开发仿推特Twitter社区网络源码+修复BUG
正文: PHP开发仿推特Twitter社区网络源码+修复BUG,程序没什么好介绍的,主要就是一个社区网络,更多的功能大家自行去搭建测试,之前好像也发布过,只不过那个好像存在一些问题,这次发布的是修复B ...
- 推特Twitter数据采集(内容,粉丝,关键字等)
(有需求可以私信我,24小时在线蟹蟹) 最近因为工作需要爬虫了一段时间推特. Twitter网站是用AJAX异步加载的,用request请求到json文件的数据url也是拒绝的 所以只能慢慢模拟浏览器 ...
- 推特Twitter高级搜索
今天,尝试通过模拟浏览器爬取推特数据.想要爬取包括不同关键词的推文,比如含有"home"或者"school"其中的一个,再或者需要指定发推的时间,那么我们需要用 ...
- [Leedcode][JAVA][第355题][设计推特][面向对象][哈希表][链表][优先队列]
[问题描述]355 设计推特 设计一个简化版的推特(Twitter),可以让用户实现发送推文,关注/取消关注其他用户,能够看见关注人(包括自己)的最近十条推文.你的设计需要支持以下的几个功能:post ...
- LeetCode 355. 设计推特(哈希map+set)
1. 题目 设计一个简化版的推特(Twitter),可以让用户实现发送推文,关注/取消关注其他用户,能够看见关注人(包括自己)的最近十条推文.你的设计需要支持以下的几个功能: postTweet(us ...
- Leetcode 355. 设计推特 C++
Leetcode 355. 设计推特 题目 设计一个简化版的推特(Twitter),可以让用户实现发送推文,关注/取消关注其他用户,能够看见关注人(包括自己)的最近十条推文.你的设计需要支持以下的几个 ...
- Java实现 LeetCode 355 设计推特
355. 设计推特 设计一个简化版的推特(Twitter),可以让用户实现发送推文,关注/取消关注其他用户,能够看见关注人(包括自己)的最近十条推文.你的设计需要支持以下的几个功能: postTwee ...
最新文章
- Mobile OpenCart 自适应主题模板 ABC-0074
- highcharts图标插件详解一
- 【VS Code】vue.js ESLint + vscode 代码格式配置
- 第二章java编程基础测试题_Java编程基础测试题分享
- java array to string_数组到字符串转换(Array to string conversion)
- 简述Docker镜像、容器、仓库概念
- Jakarta EE贡献–入门
- fedora如何隐藏顶部状态栏_藏在 iOS 13 里的 9 个隐藏小技巧
- Windows Terminal 0.9 发布
- Django 模板层
- ArcGIS10破解版安装方法
- 前端系列教程之推荐(实用网站 Can I use)
- 与世界对话丨预康可瘦品牌发布暨全国招商会隆重举行
- LeetCode 19 螺旋矩阵
- eclipse报错!!!!
- sql查询今天,近七天,近一个月,近一年的数量统计
- 关于用scala 写Elasticsearch +springboot+jpa
- 安全诊室自检手册---牙椅篇
- 【设计模式】共享模式
- 前端好用的软件网站分享