当前位置: 首页 > news >正文

1150网站建设服务器主板老域名

1150网站建设服务器主板,老域名,规则网站建设,网站作品集首先可以想到,可以计算出任意两个时间之间的差值,然后比较出最小的,不过这种蛮力方法时间复杂度是O(n^2)。而先将时间列表排序,再计算相邻两个时间的差值,就只需要计算n个差值,而排序阶段时间复杂度通常为O…

        首先可以想到,可以计算出任意两个时间之间的差值,然后比较出最小的,不过这种蛮力方法时间复杂度是O(n^2)。而先将时间列表排序,再计算相邻两个时间的差值,就只需要计算n个差值,而排序阶段时间复杂度通常为O(nlogn),所以优化后的时间复杂度为O(nlogn)。

        不过需要注意的是还需要考虑第一个和最后一个时间点跨越午夜的时间差的大小。并且一天只有1440分钟,如果时间列表大于1440,那么必然有重复的时间点,最小差值即为0。

        

class Solution {public int findMinDifference(List<String> timePoints) {int n = timePoints.size();// 由于一天最多有1440分钟,如果timePoints超过1440个,那么必然有重复的时间点,最小差值为0if (n > 1440) {return 0;}// 将时间点按字符串排序,默认是按HH:MM的字典顺序排序Collections.sort(timePoints);int ans = Integer.MAX_VALUE;// 获取第一个时间点的分钟数int t0Minutes = getMinutes(timePoints.get(0));// 初始化上一个时间点为第一个时间点int preMinutes = t0Minutes;// 从第二个时间点开始,逐个计算与前一个时间点的时间差for (int i = 1; i < n; ++i) {int minutes = getMinutes(timePoints.get(i));// 计算相邻时间点的时间差并保留最小的ans = Math.min(ans, minutes - preMinutes); preMinutes = minutes; // 更新上一个时间点为当前时间点}// 计算第一个和最后一个时间点跨越午夜的时间差ans = Math.min(ans, t0Minutes + 1440 - preMinutes);return ans;}// 将时间点转换为分钟数的方法,比如输入“10:01”返回601public int getMinutes(String t) {return ((t.charAt(0) - '0') * 10 + (t.charAt(1) - '0')) * 60 + ((t.charAt(3) - '0') * 10 + (t.charAt(4) - '0'));}
}

http://www.yayakq.cn/news/565300/

相关文章:

  • 网络推广与推广沈阳网站seo外包
  • 营销型企业网站建设策划建筑人才网官网网址
  • 网站建设 业务楼市政策最新消息
  • 网站维护一般做什么佛山互联网公司
  • 网站基本功能商城英文
  • 做网站潍坊免费建设网站的方法
  • 顺义建设网站网站备案查询官网
  • 焦作建设厅网站如何让百度新闻收录网站文章
  • 做网站最好的公司有哪些包头网站建设哪家好
  • 做神马网站优化快企业软件定制开发
  • 广州网站搭建费用做本地旅游网站
  • 即墨区城乡建设局网站代码查询网站
  • 游戏ui素材网站2021年最火的网页游戏
  • asp网站服务器架设网站建设投标书报价表
  • 做网站必须用对方服务器做优惠券的网站有哪些
  • 北京专业制作网站公司吗百度关键词seo
  • elementor做视频网站wordpress标签论坛
  • 灵山网站建设大学网站栏目建设通知
  • 快速网站收录外链购买平台
  • 建设一个网站的过程wordpress 子分类模板
  • 成品图片的网站在哪里找厦门企业网站建设专家
  • 济南网站建设选聚搜网络张掖响应式建站平台
  • 上海建筑设计公司网站河南网站seo设计
  • 兰州网站建设hiteeth易班班级网站建设展示PPT
  • 旅游网站前端模板百度信息流推广是什么意思
  • 网站的交互性旅游网站管理系统
  • 男女做污视频网站wordpress前台发表
  • wordpress做文学网南宁怎么做seo团队
  • 鄱阳做网站织梦网站头部
  • 太原网站搜索引擎优化长沙网络推广招聘