文章目录

  • 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 || (sH==fH && 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*60+fM-sH*60-sM)/15);//转成分钟数/15,如有负则不足一局}
};

0 ms 5.9 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 1904. 你完成的完整对局数相关推荐

  1. LeetCode 热题 HOT 100 完整题解笔记知识点分类 C++代码实现

    1.知识点分布 填一下这个之前欠的天坑,复习一下算法入门的经典基础题. 除夕,正月初一,初二,一共写了三整天,除了吃饭就窝着补题. 每天30题+,整个人都写晕啦,终于写完啦() markdown生成 ...

  2. LeetCode(748)——最短完整词(JavaScript)

    如果单词列表(words)中的一个单词包含牌照(licensePlate)中所有的字母,那么我们称之为完整词.在所有完整词中,最短的单词我们称之为最短完整词. 单词在匹配牌照中的字母时不区分大小写,比 ...

  3. 向上取整向下取整探讨

    符号 向下取整符号:⌊x⌋⌊x⌋⌊x⌋,表示小于等于 xxx 的最大的整数.常用于分数,比如分数的向下取整 ⌊xy⌋⌊\cfrac {x} {y}⌋⌊yx​⌋. 向上取整符号:⌈x⌉⌈x⌉⌈x⌉,与向 ...

  4. [leetcode] 748. Shortest Completing Word

    Description Find the minimum length word from a given dictionary words, which has all the letters fr ...

  5. 20210621:力扣第246周周赛(上)

    力扣第246周周赛(上) 题目 思路与算法 代码实现 写在最后 题目 字符串中的最大奇数 你完成的完整对局数 思路与算法 字符串中的最大奇数 :从末尾开始找奇数即可.从头开始算则最大 你完成的完整对局 ...

  6. LeetCode 748. 最短完整词

    1. 题目 如果单词列表(words)中的一个单词包含牌照(licensePlate)中所有的字母,那么我们称之为完整词. 在所有完整词中,最短的单词我们称之为最短完整词. 单词在匹配牌照中的字母时不 ...

  7. 你面试稳了!通关LeetCode刷题完整攻略,省时又高效

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 作者:穷码农 来源:https://zhuanlan.zhihu.com/p/10 ...

  8. 腾讯T3整理分享的LeetCode算法小抄完整文档

    前言 本文⽬前可以⼿把⼿带你解决 110 道 LeetCode 算法问题,⽽且在不断更新,全部基于 LeetCode 的题⽬,涵盖了所有题型和技巧. 目录 主要内容 ⽬前已包含的 114 道题⽬教程如 ...

  9. LeetCode简单题之检查字符串是否为数组前缀

    题目 给你一个字符串 s 和一个字符串数组 words ,请你判断 s 是否为 words 的 前缀字符串 . 字符串 s 要成为 words 的 前缀字符串 ,需要满足:s 可以由 words 中的 ...

最新文章

  1. python学习手册视频教程-Python学习精品教程,视频书籍打包下载
  2. Jenkins全新的UI体验-Blue Ocean
  3. 如何让ASP.NET默认的资源编程方式支持非.ResX资源存储
  4. [转] Android系统如何实现UI的自适应
  5. LibreOJ #6001. 「网络流 24 题」太空飞行计划 最大权闭合图
  6. c语言:最长对称子串(3种解决方案)
  7. Java中Double保留后小数位的几种方法
  8. 把数据对象转成字符串_Android Json数据的转换
  9. 浅析VB For Each.Next语句
  10. python如何用c语言表示_python如何调用c语言
  11. go - json -struct
  12. python new 干什么用_详解Python中的__new__()方法的使用
  13. html5横向导航菜单代码,css 横向菜单实现代码
  14. 数字化转型不给力?你可能少了vPro这样的“芯”动力
  15. Android开发艺术探索读书笔记(二)
  16. 一、JDK 1.8源码分析-源码结构介绍篇
  17. 【Linux】记录人生第一次LVM操作全过程:新建LV、扩容LV
  18. 广州市白云区2021-2022学年九年级第一学期期末考试英语试题
  19. python中特别注意除号'/'和‘//’的区别
  20. java io 面试题_Java IO面试题及答案整理汇总

热门文章

  1. c#下不同命名空间的引用(一个project使用另外一个project的名称空间)
  2. UIBezierPath
  3. Error Domain=NSCocoaErrorDomain Code=3840 JSON text did not start with array or object and option
  4. 数据结构:将二叉搜索树转换成一个排序的双向链表
  5. 第37课 thinkphp5添加商品基本信息及通过前置钩子上传商品主图 模型事件(勾子函数)...
  6. 项目开发日志:Build AssetBundle——SpriteAtlas(已解惑)
  7. BZOJ4503 两个串 【fft】
  8. 高版本号chrome安装flashplayer debuger后无法使用的问题
  9. Sargable 与 谓语下推 (predicate pushdown) 简介
  10. POJ-3590 The shuffle Problem 置换+DP | DFS