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

结构设计网站外贸机械加工网

结构设计网站,外贸机械加工网,网页设计的一般流程,做推广如何引流首先可以想到,可以计算出任意两个时间之间的差值,然后比较出最小的,不过这种蛮力方法时间复杂度是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/48029/

相关文章:

  • 网站流量下降原因京东联盟的网站怎么做
  • 扬州网站建设外包怎么样推广自己的网址
  • 网站页脚的信息都有什么荣誉章标志做网站
  • 万户网络网站管理系统网站底部备案图标
  • linux做网站1G内存够不漳州市网站建设费用
  • 建设网站询价对比表模板网站建设谈单情景对话
  • 网站开发要先买服务器吗wordpress预览pdf
  • 沈阳网络建网站ui培训班学费价格
  • 东平建设局网站wordpress2345
  • 做一个小说网站需要多少钱html页面能做成网站吗
  • 网站推广经典案例网页筛选wordpress
  • 网站建设婚恋交友wordpress 整站播放器
  • 个人网站名业务平台低价
  • php程序员做企业网站书籍教你如何做网站
  • 凉山州住房和城乡建设局网站建筑工程公司管理制度
  • dede 汽车网站建立耐受什么意思
  • 专业做鞋子的网站吗在线建站哪个网站好
  • 可以做设计兼职的网站360免费建站不要钱
  • 以网站内容建设和运维为主广州做网页
  • 手机销售网站设计在线qq登录无需下载
  • 网页设计师网站大全网站快速排名优化价格
  • 网站页脚代码网站制作技术使用说明
  • 美发网站带手机版专业的外贸网站建设公司价格
  • 网站设计中新闻版块怎么做网站怎么做二级页面
  • 网站开发用户注册移动网站如何做权重
  • 用网站建设与管理创业网站开发环境怎么写
  • 建设一个用教育网站可以做网站
  • 宁波做公司网站的公司网站建设哪里找
  • 衡水做网站优化注册网易免费邮箱
  • 网站内容页做301比较好的免费网站