网站开发准备流程,沂源手机网站建设公司,做外汇关注的网站,wordpress代码压缩文章目录1. 题目2. 解题1. 题目
一款新的在线电子游戏在近期发布#xff0c;在该电子游戏中#xff0c;以 刻钟 为周期规划若干时长为 15 分钟 的游戏对局。 这意味着#xff0c;在 HH:00、HH:15、HH:30 和 HH:45 #xff0c;将会开始一个新的对局#xff0c;其中 HH 用一…
文章目录1. 题目2. 解题1. 题目
一款新的在线电子游戏在近期发布在该电子游戏中以 刻钟 为周期规划若干时长为 15 分钟 的游戏对局。 这意味着在 HH:00、HH:15、HH:30 和 HH:45 将会开始一个新的对局其中 HH 用一个从 00 到 23 的整数表示。 游戏中使用 24 小时制的时钟 所以一天中最早的时间是 00:00 最晚的时间是 23:59 。
给你两个字符串 startTime 和 finishTime 均符合 “HH:MM” 格式分别表示你 进入 和 退出 游戏的确切时间请计算在整个游戏会话期间你完成的 完整对局的对局数 。
例如如果 startTime “05:20” 且 finishTime “05:59” 这意味着你仅仅完成从 05:30 到 05:45 这一个完整对局。 而你没有完成从 05:15 到 05:30 的完整对局因为你是在对局开始后进入的游戏同时你也没有完成从 05:45 到 06:00 的完整对局因为你是在对局结束前退出的游戏。
如果 finishTime 早于 startTime 这表示你玩了个通宵也就是从 startTime 到午夜再从午夜到 finishTime。
假设你是从 startTime 进入游戏并在 finishTime 退出游戏请计算并返回你完成的 完整对局的对局数 。
示例 1
输入startTime 12:01, finishTime 12:44
输出1
解释你完成了从 12:15 到 12:30 的一个完整对局。
你没有完成从 12:00 到 12:15 的完整对局因为你是在对局开始后的 12:01 进入的游戏。
你没有完成从 12:30 到 12:45 的完整对局因为你是在对局结束前的 12:44 退出的游戏。示例 2
输入startTime 20:00, finishTime 06:00
输出40
解释你完成了从 20:00 到 00:00 的 16 个完整的对局以及从 00:00 到 06:00 的 24 个完整的对局。
16 24 40示例 3
输入startTime 00:00, finishTime 23:59
输出95
解释除最后一个小时你只完成了 3 个完整对局外其余每个小时均完成了 4 场完整对局。提示
startTime 和 finishTime 的格式为 HH:MM
00 HH 23
00 MM 59
startTime 和 finishTime 不相等来源力扣LeetCode 链接https://leetcode-cn.com/problems/the-number-of-full-rounds-you-have-played 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题
转成分钟数处理
class Solution {
public:int numberOfRounds(string startTime, string finishTime) {int sH (startTime[0]-0)*10(startTime[1]-0);int sM (startTime[3]-0)*10(startTime[4]-0);int fH (finishTime[0]-0)*10(finishTime[1]-0);int fM (finishTime[3]-0)*10(finishTime[4]-0);if(sH fH || (sHfH sM fM))fH 24;//开始时间晚于结束时间通宵了if(sM%15 ! 0)sM ceil(sM/15.0)*15;//下一个开局分钟if(fM%15 ! 0)fM floor(fM/15.0)*15;//前一个结束分钟return max(0, (fH*60fM-sH*60-sM)/15);//转成分钟数/15如有负则不足一局}
};0 ms 5.9 MB C 我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号Michael阿明一起加油、一起学习进步