面试遇到的代码题,没想出好的解法,求解答

小明的玩具

小明有N个玩具,编号从1-N,每个玩具有两个特性:

E_i:表示小明可以玩玩具i不感到无聊多少分钟

R_i:表示小明玩完玩具i后忘记它所需要的分钟

玩具按照顺时针方向从1-N排列成一个圆圈,小明一个接一个地和他们玩。

当小明拿到他没有见过的玩具i,或者他已经忘记的玩具i时,小明会和玩具玩E_i分钟,然后立即移动到下一个(顺时针方向)

如果他遇到一个他还没有忘记的玩具,就会停止。

我们可以把小明玩的时间定义为小明在停下来之前,玩的玩具的时间总和。如果一个玩具玩了好几次,应该计算多次时间。

根据对玩具的描述,移除尽可能少的玩具以便让小明无限期的玩一段时间(如果可能的话)或在他停下来之前尽可能长地玩一段时间。

输入:第一个整数N表示有多少个玩具,接下来N行,每行第一个数字表示玩具的E_i,第二个数字表示玩具的R_i

输出:

第一个数字表示需要删除的玩具的数量,第二个数字表示玩的时间(如果是无限期的玩返回-1)

注意:

1.小明以前从未玩过这些玩具。

2.他不能没有玩具。

3.他总是从编号最小的玩具开始玩

4.玩完编号最大的玩具后,他会移到编号最小的玩具。

示例1:

输入:

1

5,10

输出:

0,5

示例2:

输入:

2

5,10

10,3

输出:

0,-1

输入:

3

30,17

5,10

10,3

输出:

1,-1

#算法题目求助##学习路径#
全部评论

相关推荐

不愿透露姓名的神秘牛友
11-21 17:16
科大讯飞 算法工程师 28.0k*14.0, 百分之三十是绩效,惯例只发0.9
点赞 评论 收藏
分享
10-30 10:16
南京大学 Java
龚至诚:给南大✌️跪了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务