Skip to content

2437. Number of Valid Clock Times

  • Time: $O(1)$
  • Space: $O(1)$
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
class Solution {
 public:
  int countTime(string time) {
    int ans = 1;
    if (time[3] == '?')
      ans *= 6;
    if (time[4] == '?')
      ans *= 10;

    if (time[0] == '?' && time[1] == '?')
      return ans * 24;
    if (time[0] == '?')
      return time[1] < '4' ? ans * 3 : ans * 2;
    if (time[1] == '?')
      return time[0] == '2' ? ans * 4 : ans * 10;
    return ans;
  }
};
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
class Solution {
  public int countTime(String time) {
    int ans = 1;
    if (time.charAt(3) == '?')
      ans *= 6;
    if (time.charAt(4) == '?')
      ans *= 10;

    if (time.charAt(0) == '?' && time.charAt(1) == '?')
      return ans * 24;
    if (time.charAt(0) == '?')
      return time.charAt(1) < '4' ? ans * 3 : ans * 2;
    if (time.charAt(1) == '?')
      return time.charAt(0) == '2' ? ans * 4 : ans * 10;
    return ans;
  }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
class Solution:
  def countTime(self, time: str) -> int:
    ans = 1
    if time[3] == '?':
      ans *= 6
    if time[4] == '?':
      ans *= 10

    if time[0] == '?' and time[1] == '?':
      return ans * 24
    if time[0] == '?':
      return ans * 3 if time[1] < '4' else ans * 2
    if time[1] == '?':
      return ans * 4 if time[0] == '2' else ans * 10
    return ans