剑指 Offer II 035. 最小时间差
题目链接
剑指 Offer II 035. 最小时间差 mid
题目描述
给定一个 24小时制(小时:分钟 "HH:MM")的时间列表,找出列表中任意两个时间的最小时间差并以分钟数表示。
示例 1:
输入:timePoints = [“23:59”,“00:00”]
输出:1
示例 2:
输入:timePoints = [“00:00”,“23:59”,“00:00”]
输出:0
提示:
- 2<=timePoints<=2∗1042 <= timePoints <= 2 * 10^42<=timePoints<=2∗104
timePoints[i]格式为"HH:MM"
解法:排序
首先我们先将所有的 HH:MM转化为分钟数,存入一个列表 time中,接着再对它按从小到大排序。
排序之后,只可能是相连两个时间点 时间差值最小。(还需要考虑首尾相连的时间差值)。
时间复杂度: O(n∗logn)O(n * logn)O(n∗logn)
C++代码:
class Solution {
public:int findMinDifference(vector<string>& timePoints) {vector<int> time;for(auto s:timePoints){int h = stoi(s.substr(0,2));int m = stoi(s.substr(3,2));time.emplace_back(h * 60 + m);}sort(time.begin(),time.end());int ans = 1e9;int n = time.size();for(int i = 0;i < n - 1;i++){ans = min(ans, time[i + 1] - time[i]);}int d = 24 * 60 - time[n - 1] + time[0];ans = min(ans,d);return ans;}
};
Python代码:
class Solution:def findMinDifference(self, timePoints: List[str]) -> int:time = sorted(int(t[:2]) * 60 + int(t[3:]) for t in timePoints)time.append(time[0] + 24 * 60)return min(time[i] - time[i - 1] for i in range(1, len(time)))相关文章:
剑指 Offer II 035. 最小时间差
题目链接 剑指 Offer II 035. 最小时间差 mid 题目描述 给定一个 24小时制(小时:分钟 "HH:MM")的时间列表,找出列表中任意两个时间的最小时间差并以分钟数表示。 示例 1: 输入:timePoints [“23:59”,“0…...
Spark SQL函数定义【博学谷学习记录】
1 如何使用窗口函数窗口函数格式:分析函数 over(partition by xxx order by xxx [asc|desc] [rows between xxx and xxx])学习的相关分析函数有那些? 第一类: row_number() rank() dense_rank() ntile()第二类: 和聚合函数组合使用 sum() avg() max() min() count()第三类: la…...
模拟实现STL容器之vector
文章目录前言1.大体思路2.具体代码实现1.类模板的创建2.构造函数1.无参构造2.拷贝构造 迭代器构造和给定n个val值构造以及析构函数3.空间扩容1.reserve2.resize4.操作符重载1.[ ]重载2.赋值运算符重载5.数据增加和删除1.尾插2.任意位置插入3.任意位置删除4.尾删6.一些其他接口3…...
ChatGPT-4.0 : 未来已来,你来不来
文章目录前言ChatGPT 3.5 介绍ChatGPT 4.0 介绍ChatGPT -4出逃计划!我们应如何看待ChatGPT前言 好久没有更新过技术文章了,这个周末听说了一个非常火的技术ChatGPT 4.0,于是在闲暇之余我也进行了测试,今天这篇文章就给大家介绍一…...
Java反射(详细学习笔记)
Java反射 1. Java反射机制概述 Reflection(反射)是java被视为java动态语言的关键,反射机制允许程序在执行期间借助于Reflection API获取任何类的内部信息,并能直接操作任意对象的内部属性及方法。 Class c Class.forName(&quo…...
学习 Python 之 Pygame 开发魂斗罗(十二)
学习 Python 之 Pygame 开发魂斗罗(十二)继续编写魂斗罗1. 修改玩家扣减生命值2. 解决玩家下蹲子弹不会击中玩家而是直接让玩家死亡的问题3. 完善地图4. 增加产生敌人函数,解决一直产生敌人的问题5. 给玩家类增加计算玩家中心的方法继续编写魂…...
Linux下字符设备驱动开发以及流程介绍
文章目录1 - 字符设备介绍2 - 字符设备开发流程图3 - 字符设备开发流程具体讲解(1)设备编号的定义与申请【1】Linux主次设备号介绍【2】分配设备编号【3】释放主次设备号(2)定义file_operations结构体-初始化接口函数(…...
Web自动化框架断言方法实现
前言1、设计用例方法关键字1.1、获取元素属性值2.1、断言2、代码实现2.1、实现获取元素属性值2.1.1 函数实现2.1.2 方法配置2.1.2 用例调试2.1.3 html属性2.2、实现断言2.2.1 函数2.2.2 方法配置2.2.3 用例调试1)断言结果成功2)断言结果失败前言 本文的…...
8大核心语句,带你深入python
人生苦短 我用python 又来给大家整点好东西啦~ 咱就直接开练噜!内含大量代码配合讲解 python 安装包资料:点击此处跳转文末名片获取 1. for - else 什么?不是 if 和 else 才是原配吗? No,你可能不知道, else 是个…...
【批处理】- 批处理自动安装Mysql与Redis
前言 在全新环境中安装MySQL与Redis操作是挺麻烦的,于是就想使用脚本来自动安装,使用批处理进行一步到位的安装,后面还能使用工具进行打包成exe可执行文件,一键安装,最后能够更好的部署项目到windows系统的服务器。 …...
聊聊华为的工作模式
目录 一、试用期与加班工资 二、招聘 三、月度答辩和转正答辩 四、可信考试认证 五、接口人 六、问题缺陷单 七、代码检视 八、功能开发 九、出征海外 一、试用期与加班工资 一般而言,试用期持续的时间为3-6个月,工资、奖金都按正式员工的标准…...
燕山大学-面向对象程序设计实验-实验6 派生与继承:多重派生-实验报告
CSDN的各位友友们你们好,今天千泽为大家带来的是燕山大学-面向对象程序设计实验-实验5 派生与继承:单重派生-实验报告,接下来让我们一起进入c的神奇小世界吧,相信看完你也能写出自己的 实验报告!本系列文章收录在专栏 燕山大学面向对象设计报告中 ,您可以在专栏中找…...
分割两个字符串得到回文串[抽象--去除具体个性取共性需求]
抽象前言一、分割两个字符串得到回文串二、双指针总结参考文献前言 抽象去个性留共性,是因为具体个性对于解决问题是个累赘。少了累赘,直击需求,才能进行问题转换或者逻辑转换。 一、分割两个字符串得到回文串 二、双指针 // 限定死了&…...
【LeetCode】1609. 奇偶树、1122. 数组的相对排序
作者:小卢 专栏:《Leetcode》 喜欢的话:世间因为少年的挺身而出,而更加瑰丽。 ——《人民日报》 1609. 奇偶树 1609. 奇偶树 题目描述: 如果一棵二叉树满足下述几个条件&#x…...
【C++初阶】4. Date类的实现
如果下面博客有不理解的地方,可以查看源码:代码提交:日期类的实现 1. 构造函数的实现 由于系统实现的默认构造函数即便采用默认值的形式也只能存在1个固定的默认日期(例如:1997-1-1)。所以,构…...
ES6新特性--变量声明
可以使用let关键字来声明变量let a;let b,c;//同时声明多个变量let stu = 张三;let name =李四,age = 12;//声明变量的同时赋值 let关键字使用的注意事项(1).变量在声明的时候不可以重复,这也符合其他语言的变量声明规范 let name = 李四; let name = 张三;//这里开始报错,但…...
【Django】缓存机制
文章目录缓存的介绍Django的6种缓存方式开发调试缓存dummy.DummyCache内存缓存locmem.LocMemCache文件缓存filebased.FileBasedCache⭐️数据库缓存db.DatabaseCacheMemcache缓存memcached.MemcachedCacheMemcache缓存memcached.PyLibMCCacheDjango缓存的应用内存缓存cache_pag…...
我的创作纪念日——一年的时间可以改变很多
机缘 不知不觉来到CSDN已经创作一年了。打心底讲,对于在CSDN开始坚持创作的原因,我用一句话来概括最合适不过了——“无心插柳柳成荫” 为什么这么说呢? 这要从我的一篇博客说起——《输入命令Javac报错详解》: 那也是我第一次…...
Jetson Nano驱动机器人的左右两路电机
基于Jetson Nano板子搭建一个无人车,少不了减速电机驱动轮子滚动,那如何驱动呢?从Jetson.GPIO库文件来说,里面没有支持产生PWM的引脚,也就意味着Jetson nano没有硬件产生PWM的能力,所以我们不得不使用别的方…...
如何通过openssl生成公钥和私钥?
1、生成RSA秘钥的方法 生成RSA秘钥的方法: openssl genrsa -des3 -out privkey.pem 2048 注:建议用2048位秘钥,少于此可能会不安全或很快将不安全。 这个命令会生成一个2048位的秘钥,同时有一个des3方法加密的密码,…...
如何永久保存B站缓存视频?m4s-converter开源工具完整使用指南
如何永久保存B站缓存视频?m4s-converter开源工具完整使用指南 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾经遇到过这样的…...
OpenClaw+Qwen3-4B创意助手:自动生成营销文案与设计建议
OpenClawQwen3-4B创意助手:自动生成营销文案与设计建议 1. 为什么需要个人创意助手? 去年夏天,我接手了一个小型咖啡品牌的社交媒体运营工作。每天需要产出5-6条不同风格的文案,还要设计配套的视觉方案。连续两周后,…...
实战指南:基于快马AI开发具备核心功能的电商比价插件
最近在做一个电商比价插件的开发项目,正好用到了InsCode(快马)平台,整个过程特别顺畅,分享下我的实战经验。 项目背景与需求分析 电商比价插件是很多网购达人的刚需工具。核心要解决三个问题:实时比价、历史价格追踪和降价提醒。传…...
计算机毕业设计springboot展会门票系统 基于SpringBoot的会展票务数字化服务平台 SpringBoot框架下的博览会入场券预约与核销系统
计算机毕业设计springboot展会门票系统 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着会展经济的蓬勃发展和数字化转型的深入推进,各类展会活动规模不断扩大&am…...
计算机毕业设计springboot在线阅读平台的设计与实现 基于SpringBoot的数字化图书阅读与积分兑换服务平台 SpringBoot框架下的网络文献资源管理与读者互动系统
计算机毕业设计springboot在线阅读平台的设计与实现 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。 随着互联网技术的飞速发展和移动智能终端的普及,人们的阅读习惯…...
深入解析BulletinBoard:iOS上下文卡片库的完整架构指南与核心实现
深入解析BulletinBoard:iOS上下文卡片库的完整架构指南与核心实现 【免费下载链接】BulletinBoard General-purpose contextual cards for iOS 项目地址: https://gitcode.com/gh_mirrors/bu/BulletinBoard BulletinBoard是一个功能强大的iOS库,专…...
安卓梦幻互通专用多开切换器|回合制手游多账号快速切换工具(附详细图文教程)
温馨提示:文末有联系方式工具核心定位:安全纯净,专注高效切换 本工具为专为安卓平台设计的轻量级多账号切换解决方案,全程绿色免安装插件,界面无任何广告干扰,严格遵循隐私规范——不访问、不读取、不上传任…...
从选工具到提交论文降AI率全流程避坑指南
把降AI率的整个流程从头到尾捋一遍——从第一次知网检测发现超标,到最终论文成功提交,每一步该干什么,常见问题怎么处理。 这是一篇流程性的指南,适合第一次处理论文AI率的同学从头读,也适合某个步骤卡住了来查的。 …...
容器环境下各种兼容模式+多实例
注意: #多实例端口不同数据目录不同容器名不同 1. -p 主机端口:容器端口 容器端口永远是 54321(不用改) 主机端口必须不一样:4321、4322、4323... 一个端口只能给一个数据库用,就像一个门不能同时进两个人。2. -v 主机…...
丁二酸酯PEG氨基叔丁氧羰基,NHBoc-PEG-SA,可与胺基、羟基等基团发生缩合反应
一.名称英文名称:SA-PEG-NHBoc,Succinic Acid-PEG-NHBoc,NHBoc-PEG-SA,NHBoc-PEG-Succinic Acid中文名称:丁二酸酯聚乙二醇氨基叔丁氧羰基,丁二酸酯PEG氨基叔丁氧羰基分子量:1k,2k&a…...
