Leetcode 539. 最小时间差

给定一个 24 小时制(小时:分钟 “HH:MM”)的时间列表,找出列表中任意两个时间的最小时间差并以分钟数表示。

示例 1:

输入:timePoints = [“23:59”,“00:00”]
输出:1
示例 2:

输入:timePoints = [“00:00”,“23:59”,“00:00”]
输出:0

提示:

2 <= timePoints.length <= 2 * 104
timePoints[i] 格式为 “HH:MM”

class Solution {
public:
    int findMinDifference(vector<string>& timePoints) {
        vector<int> time;
        for(auto s : timePoints) {
            int h, m;
            if(s[0] == '0') h = s[1] - '0';
            else h = (s[0] - '0') * 10 + (s[1] - '0');
            if(s[3] == '0') m = s[4] - '0';
            else m = (s[3] - '0') * 10 + (s[4] - '0');

            time.push_back(h * 60 + m);
        }
        sort(time.begin(), time.end());
        int res = INT_MAX;
        for(int i = 0; i < time.size() - 1; i ++ ) {
            res = min(res, time[i + 1] - time[i]);
        }
        res = min(res, (24 * 60) - time[time.size() - 1] + time[0]);
        return res;
    }
};

更简便的写法:

class Solution {
public:
    int findMinDifference(vector<string>& timePoints) {
        int res = INT_MAX;
        vector<int> q;
        for(auto t : timePoints) {
            int h, m;
            sscanf(t.c_str(), "%d:%d", &h, &m);
            q.push_back(h * 60 + m);
        }
        sort(q.begin(), q.end());
        for(int i = 1; i < q.size(); i ++ ) res = min(res, q[i] - q[i - 1]);
        res = min(res, 24 * 60 - q.back() + q[0]);
        return res;
    }
};

相关推荐

  1. Leetcode 539. 时间差

    2024-04-08 01:02:01       34 阅读
  2. 排序题目:时间差

    2024-04-08 01:02:01       38 阅读
  3. LeetCode

    2024-04-08 01:02:01       28 阅读
  4. LeetCode 155:

    2024-04-08 01:02:01       55 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-08 01:02:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-08 01:02:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-08 01:02:01       82 阅读
  4. Python语言-面向对象

    2024-04-08 01:02:01       91 阅读

热门阅读

  1. Docker容器的IP地址

    2024-04-08 01:02:01       186 阅读
  2. 万得AI算法工程师一面面试题6道|含解析

    2024-04-08 01:02:01       40 阅读
  3. 【算法-数组】移除元素

    2024-04-08 01:02:01       37 阅读
  4. 初识虚拟机:探索数字世界的神奇工具

    2024-04-08 01:02:01       32 阅读
  5. 设计模式:组合模式示例

    2024-04-08 01:02:01       37 阅读
  6. 【题解 | 01背包】目标和

    2024-04-08 01:02:01       36 阅读
  7. SSH免密登录 远程创建账户

    2024-04-08 01:02:01       32 阅读
  8. 前端开发之el-select 设置默认值后选项无法切换

    2024-04-08 01:02:01       169 阅读
  9. 违法解除劳动合同后【股票争议】——案例学习

    2024-04-08 01:02:01       42 阅读