Skip to content

Commit fbc9cc2

Browse files
solves latest time by replacing hidden digits
1 parent 660bbe0 commit fbc9cc2

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

Diff for: README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,7 @@
425425
| 1720 | [Decode XORed Array](https://leetcode.com/problems/decode-xored-array) | [![Java](assets/java.png)](src/DecodeXORedArray.java) | |
426426
| 1725 | [Number Of Rectangles That Can Form The Largest Square](https://leetcode.com/problems/number-of-rectangles-that-can-form-the-largest-square) | [![Java](assets/java.png)](src/NumberOfRectanglesThatCanFormTheLargestSquare.java) | |
427427
| 1732 | [Find the Highest Altitude](https://leetcode.com/problems/find-the-highest-altitude) | [![Java](assets/java.png)](src/FindTheHighestAltitude.java) | |
428-
| 1736 | [Latest Time by Replacing Hidden Digits](https://leetcode.com/problems/latest-time-by-replacing-hidden-digits) | | |
428+
| 1736 | [Latest Time by Replacing Hidden Digits](https://leetcode.com/problems/latest-time-by-replacing-hidden-digits) | [![Java](assets/java.png)](src/LatestTimeByReplacingHiddenDigits.java) | |
429429
| 1742 | [Maximum Number of Balls in a Box](https://leetcode.com/problems/maximum-number-of-balls-in-a-box) | | |
430430
| 1748 | [Sum of Unique Elements](https://leetcode.com/problems/sum-of-unique-elements) | | |
431431
| 1752 | [Check if Array Is Sorted and Rotated](https://leetcode.com/problems/check-if-array-is-sorted-and-rotated) | | |

Diff for: src/LatestTimeByReplacingHiddenDigits.java

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
public class LatestTimeByReplacingHiddenDigits {
2+
public String maximumTime(String time) {
3+
String[] parts = time.split(":");
4+
String hour = parts[0], minutes = parts[1];
5+
return new StringBuilder(maxHours(hour)).append(':').append(maxMinutes(minutes)).toString();
6+
}
7+
8+
private String maxHours(String string) {
9+
if (string.charAt(0) == '?') {
10+
if (string.charAt(1) == '?') return "23";
11+
if (string.charAt(1) > '3') return "1" + string.charAt(1);
12+
return "2" + string.charAt(1);
13+
} else if (string.charAt(1) == '?') {
14+
return string.charAt(0) + (string.charAt(0) == '2' ? "3" : "9");
15+
}
16+
return string;
17+
}
18+
19+
private String maxMinutes(String string) {
20+
if (string.charAt(0) == '?') {
21+
if (string.charAt(1) == '?') return "59";
22+
return "5" + string.charAt(1);
23+
} else if (string.charAt(1) == '?') {
24+
return string.charAt(0) + "9";
25+
}
26+
return string;
27+
}
28+
}

0 commit comments

Comments
 (0)