最优秀的佛山网站建设,phpcms 网站访问统计,平台网站的策划设计,学院网页设计模板html代码2023-05-09每日一题
一、题目编号
2437. 有效时间的数目二、题目链接
点击跳转到题目位置
三、题目描述
给你一个长度为 5 的字符串 time #xff0c;表示一个电子时钟当前的时间#xff0c;格式为 “hh:mm” 。最早 可能的时间是 “00:00” #xff0c;最晚 可能的时间…2023-05-09每日一题
一、题目编号
2437. 有效时间的数目二、题目链接
点击跳转到题目位置
三、题目描述
给你一个长度为 5 的字符串 time 表示一个电子时钟当前的时间格式为 “hh:mm” 。最早 可能的时间是 “00:00” 最晚 可能的时间是 “23:59” 。
在字符串 time 中被字符 ? 替换掉的数位是 未知的 被替换的数字可能是 0 到 9 中的任何一个。
请你返回一个整数 answer 将每一个 ? 都用 0 到 9 中一个数字替换后可以得到的有效时间的数目。
四、解题代码
class Solution {
public:int countTime(string time) {int minute 0;int hour 0; int res 0;if(time[3] ?){if(time[4] ?){minute 60;} else{minute 6; }} else{if(time[4] ?){minute 10;} }if(time[0] ?){if(time[1] ?){hour 24;} else if(time[1] 4){hour 2;} else{hour 3;}} else{if(time[1] ?){if(time[0] 1){hour 10;} else{hour 4;}} }if(minute 0 hour 0){return 1;} else if(minute 0 hour ! 0){return hour;} else if(minute ! 0 hour 0){return minute;} else{return hour * minute;}return 0;}
};五、解题思路
(1) 用hour来记录 ‘?’ 所能替换的小时有多少种可能性用minute来记录 ‘?’ 所能替换的分钟有多少种可能性。这里面讨论的是包含‘?’所能得到的小时和分钟的可能性如果hour和minute最终的值不为0即字符串中不包含‘?’其自身就是一种可能性应当返回答案1而不是0。
(2) 先讨论分钟分钟由M1M2来组成先讨论M1如果M1 是 ‘?’ 的话此时M1可能的值为0-5 6种如果M2 ‘?’ 的话那么总共可能性为60种。如果M2 非问号则总共可能性为6种。如果M1不是 ‘?’ 的话判断M2是否为‘?’不是的话则总可能性为0种如果是‘?’ 的话则总可能性为10种即0-9。
(3) 再讨论时钟时钟由H1H2来组成先讨论H1如果H1是 ‘?’ 的话此时H1可能的值为0-2 2种如果M2 ‘?’ 的话那么总共可能性为24种。如果M2非问号则总共可能性得根据M2来判断如果M2大于等于4则M1不能为2为两种否则的话M1可以为2则总共有3种。如果H1不是 ‘?’ 的话则判断H2是否是‘?’是的话则总可能性需要根据H1来判断判断方式与之前所述类似主要是判断H1是否是等于2。如果H2不是‘?’ 则总的可能性为0种。
(4) 最后按照hour和minute的值来进行组合求值。注意的是hour 0且minute 0返回1理由在(1) 中已经阐述。