leet-code/src/main/java/leetcode/editor/cn/LatestTimeByReplacingHiddenDigits.java

73 lines
1.8 KiB
Java
Raw Normal View History

//给你一个字符串 time ,格式为 hh:mm小时分钟其中某几位数字被隐藏用 ? 表示)。
//
// 有效的时间为 00:00 到 23:59 之间的所有时间,包括 00:00 和 23:59 。
//
// 替换 time 中隐藏的数字,返回你可以得到的最晚有效时间。
//
//
//
// 示例 1
//
//
//输入time = "2?:?0"
//输出:"23:50"
//解释:以数字 '2' 开头的最晚一小时是 23 ,以 '0' 结尾的最晚一分钟是 50 。
//
//
// 示例 2
//
//
//输入time = "0?:3?"
//输出:"09:39"
//
//
// 示例 3
//
//
//输入time = "1?:22"
//输出:"19:22"
//
//
//
//
// 提示:
//
//
// time 的格式为 hh:mm
// 题目数据保证你可以由输入的字符串生成有效的时间
//
// Related Topics 字符串
// 👍 44 👎 0
package leetcode.editor.cn;
//1736:替换隐藏数字得到的最晚时间
class LatestTimeByReplacingHiddenDigits {
public static void main(String[] args) {
//测试代码
Solution solution = new LatestTimeByReplacingHiddenDigits().new Solution();
}
//力扣代码
//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
public String maximumTime(String time) {
char[] arr = time.toCharArray();
if (arr[0] == '?') {
arr[0] = ('4' <= arr[1] && arr[1] <= '9') ? '1' : '2';
}
if (arr[1] == '?') {
arr[1] = (arr[0] == '2') ? '3' : '9';
}
if (arr[3] == '?') {
arr[3] = '5';
}
if (arr[4] == '?') {
arr[4] = '9';
}
return new String(arr);
}
}
//leetcode submit region end(Prohibit modification and deletion)
}