领扣LintCode算法问题答案-1519. 时间魔法
目录
1519. 时间魔法描述样例 1:样例 2:
题解鸣谢
1519. 时间魔法
描述
在霍格沃茨魔法学校里面,有一个简单的时间魔法,可以将当前的时间转换到最大的时间,但是只能修改几个固定的位置。最长时间是23:59,最短时间是00:00,表示时间的格式为hh:mm 例如:现在是"2?:2?",那么可以转换的最大时间为"23:29"
样例 1:
输入: "?4:5?"
输出: "14:59"
样例解释: 返回最大的时间。
样例 2:
输入: "0?:??"
输出: "09:59"
样例解释: 返回最大的时间。
题解
public class Solution {
public char[] timeMagic(char[] newTime
) {
for (int i
= 0; i
< newTime
.length
; i
++) {
if (newTime
[i
] == '?') {
switch (i
) {
case 0:
if (newTime
[1] == '?') {
newTime
[0] = '2';
newTime
[1] = '3';
} else {
if (newTime
[1] < '4') {
newTime
[0] = '2';
} else {
newTime
[0] = '1';
}
}
break;
case 1:
if (newTime
[0] == '2') {
newTime
[1] = '3';
} else {
newTime
[1] = '9';
}
break;
case 3:
newTime
[i
] = '5';
break;
case 4:
newTime
[i
] = '9';
break;
}
}
}
return newTime
;
}
}
原题链接点这里
鸣谢
非常感谢你愿意花时间阅读本文章,本人水平有限,如果有什么说的不对的地方,请指正。 欢迎各位留言讨论,希望小伙伴们都能每天进步一点点。