Minimum Time Difference LeetCode solution in C++

1
class Solution {
2
public:
3
int findMinDifference(vector<string> &timePoints) {
4
unordered_set<string> st;
5
for (auto &i : timePoints) {
6
if (st.count(i)) return 0;
7
st.insert(i);
8
}
9
int ans = INT_MAX;
10
int first = -1, prev = 0; // first variable will take the diffrence of the
11
// first time stamp given in the input and 00:00
12
int hour = 0, minute = 0;
13
while (hour < 24) {
14
minute = 0;
15
while (minute < 60) {
16
string hh = to_string(hour), mm = to_string(minute);
17
if (hh.size() == 1) hh = '0' + hh;
18
if (mm.size() == 1) mm = '0' + mm;
19
string p = hh + ":" + mm;
20
if (st.count(p)) {
21
if (first == -1) {
22
first = prev;
23
} else {
24
ans = min(ans, prev);
25
}
26
prev = 0;
27
}
28
prev++;
29
minute++;
30
}
31
hour++;
32
}
33
ans = min(first + prev, ans);
34
return ans;
35
}
36
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0