岫岩网站建设,手机网站大全12345,如何给自己开发的网站加域名,如何制作一款app软件多少钱1. 题目
给定一个 24 小时制#xff08;小时:分钟#xff09;的时间列表#xff0c;找出列表中任意两个时间的最小时间差并已分钟数表示。
示例 1#xff1a;
输入: [23:59,00:00]
输出: 1备注:
列表中时间数在 2~20000 之间。
每个时间取值在 0…1. 题目
给定一个 24 小时制小时:分钟的时间列表找出列表中任意两个时间的最小时间差并已分钟数表示。
示例 1
输入: [23:59,00:00]
输出: 1备注:
列表中时间数在 2~20000 之间。
每个时间取值在 00:00~23:59 之间。来源力扣LeetCode 链接https://leetcode-cn.com/problems/minimum-time-difference 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。
2. 解题
字符串转换成 分钟 时间处理将分钟存进 哈希数组映射里下标是分钟内容是标记是否存在最后依次取出相邻的做差求最小最后在考虑下第一个和最后一个的差
class Solution {
public:int findMinDifference(vectorstring timePoints) {int mins[1440] {0};int m, i;for(auto s : timePoints){m ((s[0]-0)*10s[1]-0)*60(s[3]-0)*10s[4]-0;if(mins[m] ! 0)//已经存在return 0;mins[m] 1;}int first, prev, last, ans 1440;for(i 0; i 1440 mins[i] 0; i){}first prev i;for( ; i 1440; i){if(mins[i] 1){last i;ans min(ans, last-prev);prev last;}}return min(ans, first-last1440);}
};