| 1 | pub fn find_min_difference(time_points: Vec<String>) -> i32 { |
| 2 | let mut mmp = vec![]; |
| 3 | for p in time_points { |
| 4 | let arr = p.split(":").map(|e|e.parse::<i32>().unwrap()).collect::<Vec<i32>>(); |
| 5 | mmp.push(arr[0]*60+arr[1]); |
| 6 | mmp.push((arr[0]+24)*60+arr[1]); |
| 7 | } |
| 8 | mmp.sort(); |
| 9 | let mut ret = 24 * 60; |
| 10 | for i in 1..mmp.len() { |
| 11 | let tmp = mmp[i] - mmp[i-1]; |
| 12 | if tmp < ret { ret = tmp } |
| 13 | } |
| 14 | ret |
| 15 | } |
| 16 | |
| 17 | fn main() { |
| 18 | println!("{:?}", find_min_difference(vec!["00:00".to_string(),"23:59".to_string(),"00:00".to_string()])); |