Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
CSDN 技术社区
skill_tree_algorithm
提交
8c45dca9
S
skill_tree_algorithm
项目概览
CSDN 技术社区
/
skill_tree_algorithm
通知
9
Star
8
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
skill_tree_algorithm
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
8c45dca9
编写于
11月 18, 2021
作者:
每日一练社区
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update exercises
上级
95b13843
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
25 addition
and
37 deletion
+25
-37
data/3.算法高阶/5.leetcode-设计/1.355-设计推特/solution.md
data/3.算法高阶/5.leetcode-设计/1.355-设计推特/solution.md
+25
-37
未找到文件。
data/3.算法高阶/5.leetcode-设计/1.355-设计推特/solution.md
浏览文件 @
8c45dca9
...
...
@@ -307,55 +307,44 @@ private:
### C
```
c
class
Twitter
{
class
Twitter
{
public:
unordered_map
<
int
,
unordered_set
<
int
>>
user
;
unordered_map
<
int
,
int
>
tweetUser
;
vector
<
int
>
list
;
/** Initialize your data structure here. */
Twitter
()
{
}
Twitter
()
{
}
/** Compose a new tweet. */
void
postTweet
(
int
userId
,
int
tweetId
)
{
context
.
push_back
(
make_pair
(
userId
,
tweetId
))
;
void
postTweet
(
int
userId
,
int
tweetId
)
{
list
.
push_back
(
tweetId
);
tweetUser
[
tweetId
]
=
userId
;
}
/** Retrieve the 10 most recent tweet ids in the user's news feed. Each item in the news feed must be posted by users who the user followed or by the user herself. Tweets must be ordered from most recent to least recent. */
vector
<
int
>
getNewsFeed
(
int
userId
)
{
int
n
=
context
.
size
();
int
count
=
0
;
vector
<
int
>
res
;
int
k
=
n
-
1
;
while
(
count
<
10
&&
k
>=
0
)
{
auto
it
=
context
[
k
];
if
(
it
.
first
==
userId
||
tmp
[
make_pair
(
userId
,
it
.
first
)])
{
res
.
push_back
(
context
[
k
].
second
);
count
++
;
vector
<
int
>
getNewsFeed
(
int
userId
)
{
vector
<
int
>
result
;
int
num
=
0
;
for
(
int
i
=
list
.
size
()
-
1
;
i
>=
0
&&
num
<
10
;
i
--
){
if
(
tweetUser
[
list
[
i
]]
==
userId
||
user
[
userId
].
find
(
tweetUser
[
list
[
i
]])
!=
user
[
userId
].
end
()){
//第一个条件是判断是不是自己发送的推特,第二个条件是判断是不是关注的人发送的推特
result
.
push_back
(
list
[
i
]);
num
++
;
}
k
--
;
}
return
res
;
return
res
ult
;
}
/** Follower follows a followee. If the operation is invalid, it should be a no-op. */
void
follow
(
int
followerId
,
int
followeeId
)
{
tmp
[
make_pair
(
followerId
,
followeeId
)]
=
1
;
void
follow
(
int
followerId
,
int
followeeId
)
{
user
[
followerId
].
insert
(
followeeId
);
}
/** Follower unfollows a followee. If the operation is invalid, it should be a no-op. */
void
unfollow
(
int
followerId
,
int
followeeId
)
{
tmp
[
make_pair
(
followerId
,
followeeId
)]
=
0
;
void
unfollow
(
int
followerId
,
int
followeeId
)
{
user
[
followerId
].
erase
(
followeeId
);
}
private:
map
<
pair
<
int
,
int
>
,
int
>
tmp
;
vector
<
pair
<
int
,
int
>>
context
;
};
/**
...
...
@@ -366,5 +355,4 @@ private:
* obj->follow(followerId,followeeId);
* obj->unfollow(followerId,followeeId);
*/
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录