2437.有效时间的数目

给你一个长度为 5 的字符串 time ,表示一个电子时钟当前的时间,格式为 “hh:mm” 。最早 可能的时间是 “00:00” ,最晚 可能的时间是 “23:59” 。

在字符串 time 中,被字符 ? 替换掉的数位是 未知的 ,被替换的数字可能是 0 到 9 中的任何一个。

请你返回一个整数 answer ,将每一个 ? 都用 0 到 9 中一个数字替换后,可以得到的有效时间的数目。

示例 1:
输入:time = “?5:00”
输出:2
解释:我们可以将 ? 替换成 0 或 1 ,得到 “05:00” 或者 “15:00” 。注意我们不能替换成 2 ,因为时间 “25:00” 是无效时间。所以我们有两个选择。

示例 2:
输入:time = “0?:0?”
输出:100
解释:两个 ? 都可以被 0 到 9 之间的任意数字替换,所以我们总共有 100 种选择。

方法一:暴力枚举

直接枚举从00∶00到23∶59的所有时间,然后判断每个时间是否有效,
满足要求则答案加一。

class Solution {public int countTime(String time) {int count=0;for (int i = 0; i <24 ; i++) {for (int j = 0; j <60 ; j++) {//转化为对应的时间格式String s=String.format("%02d:%02d",i,j);int cnt=1;for (int k = 0; k <5 ; k++) {//判断是否满足条件,满足则判断下一个字符//不满足,则cnt为0,直接判断下一个字符串if (s.charAt(k)!=time.charAt(k)&&time.charAt(k)!='?'){cnt=0;break;}}count+=cnt;}}return count;}
}

方法二:分开枚举

分开枚举小时和分钟,分别统计有多少个小时和分钟满足条件,然后将二者对应的值相乘,得到最终的答案。

class Solution {public int countTime(String time) {//小时的个数int num_h=f(time.substring(0,2),24);//分钟的个数int num_m=f(time.substring(3),60);return num_h*num_m;}private static int f(String s,int num){int cnt=0;for (int i = 0; i <num ; i++) {//判断小时或者分钟第一个和第二个字符是否满足条件if ((s.charAt(0)=='?'||(s.charAt(0)-'0'==i/10)) && (s.charAt(1)=='?'||(s.charAt(1)-'0'==i%10)))++cnt;}return cnt;}
}

2437. 有效时间的数目相关推荐

  1. LeetCode 2437. 有效时间的数目

    [LetMeFly]2437.有效时间的数目 力扣题目链接:https://leetcode.cn/problems/number-of-valid-clock-times/ 给你一个长度为 5 的字 ...

  2. 【2437. 有效时间的数目】

    来源:力扣(LeetCode) 描述: 给你一个长度为 5 的字符串 time ,表示一个电子时钟当前的时间,格式为 "hh:mm" .最早 可能的时间是 "00:00& ...

  3. 【算法题】2437. 有效时间的数目

    插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到网站. 坚持不懈,越努力越幸运,大家一起学习鸭~~~ 题目: 给你一个长度为 5 的字符串 time ...

  4. 【Java|golang】2437. 有效时间的数目

    给你一个长度为 5 的字符串 time ,表示一个电子时钟当前的时间,格式为 "hh:mm" .最早 可能的时间是 "00:00" ,最晚 可能的时间是 &qu ...

  5. 2023-05-09 LeetCode每日一题(有效时间的数目)

    2023-05-09每日一题 一.题目编号 2437. 有效时间的数目 二.题目链接 点击跳转到题目位置 三.题目描述 给你一个长度为 5 的字符串 time ,表示一个电子时钟当前的时间,格式为 & ...

  6. LeetCode 89 双周赛

    2437. 有效时间的数目 给你一个长度为 5 的字符串 time ,表示一个电子时钟当前的时间,格式为 "hh:mm" .最早 可能的时间是 "00:00" ...

  7. 1.模拟※(0x3f:从周赛中学算法 2022下)

    来自0x3f[从周赛中学算法 - 2022 年周赛题目总结(下篇)]:https://leetcode.cn/circle/discuss/WR1MJP/ 模拟指按照题目要求实现相应代码,一般暴力即可 ...

  8. 10/15/2022

    好题 a b c d 10/16/2022 Educational Codeforces Round 137 (Rated for Div. 2) Password Permutation Value ...

  9. [LeetCode周赛复盘] 第 89 场双周赛20221015

    [LeetCode周赛复盘] 第 89 场双周赛20221015 一.本周周赛总结 二. [Easy] 6208. 有效时间的数目 1. 题目描述 2. 思路分析 3. 代码实现 三.[Medium] ...

最新文章

  1. 拜读及分析Element源码-alert组件篇
  2. paper 123: SVM如何避免过拟合
  3. 后台给前台服务器控件添加样式
  4. 企业级的开发组件02 - DevExpress DXperience Universal 2011.2.5 Final
  5. 12C OCP IZO-62 题库(8月以前)
  6. Direct2D (11) : 画刷之 ID2D1LinearGradientBrush
  7. python提取txt数据到excel_python 读取txt中每行数据,并且保存到excel中的实例
  8. 滴滴柳青探望被害司机家属;支付宝信用卡还款收费;ofo 查处 8 起贪腐案件 | 极客头条...
  9. linux eclipse memory,Linux下安装JDK和Eclipse
  10. viewHolder的作用
  11. CAD参数绘制直线(网页版)
  12. 先秦经典智慧名言故事丛书(全16册) 内容简介
  13. 移动端怎么让图片不失真_图片怎样放大后不模糊 图片放大不失真的方法步骤...
  14. 自学python需要什么书籍-关于 Python 的经典入门书籍有哪些?
  15. 卧式铣床升降台主传动系统设计
  16. 学习 《电路》(尼尔森著,第十版)第一章笔记(电流)
  17. 沪漂程序媛妹子的一天...
  18. 企业运维之 CDN 内容分发网络
  19. 升级版剪刀石头布(表格的处理方法)
  20. 工程项目建设数字化管理解决方案

热门文章

  1. linux实现毛玻璃窗口,给Ubuntu 安装透明水晶毛玻璃效果主题[组图]
  2. python开放生态大会_PyCon China 2020 中国 Python 开发者大会
  3. (阿里云)云服务器部署网站(使用宝塔面板)
  4. 人类的情感需要与未来私人机器人助理
  5. 2022学习0427【K8S 集群IO高,导致服务挂掉,排障记录】
  6. 链游发展新思路:Crypto Game资产租赁模型设想雏形
  7. 榕力为某工业外贸大型国企公司搭建多媒体会议室大屏演示云平台
  8. 周五见!这份GIAC全球互联网架构大会参会指南请收藏
  9. 问卷调查工具实力榜单发布
  10. asus计算机主板,【华硕Z170-A】报价_参数_图片_论坛_ASUS Z170-A华硕主板报价-ZOL中关村在线...