zoukankan      html  css  js  c++  java
  • 539. Minimum Time Difference

    Problem:

    Given a list of 24-hour clock time points in "Hour:Minutes" format, find the minimum minutes difference between any two time points in the list.
    Example 1:

    Input: ["23:59","00:00"]
    Output: 1
    

    Note:

    1. The number of time points in the given list is at least 2 and won't exceed 20000.
    2. The input time is legal and ranges from 00:00 to 23:59.

    思路

    Solution (C++):

    int findMinDifference(vector<string>& timePoints) {
        int n = timePoints.size();
        if (n < 2)  return 0;
        int min_diff = 24*60;
        
        vector<int> time(n, 0);
        for (int i = 0; i < n; ++i) {
            time[i] = stoi(timePoints[i].substr(0,2)) * 60 + stoi(timePoints[i].substr(3,2)); 
        }
        
        sort(time.begin(), time.end());   
        time.push_back(time[0] + min_diff);
        for (int i = 0; i < n; ++i) {
            min_diff = min(min_diff, time[i+1]-time[i]);
        }
        return min_diff;
    }
    

    性能

    Runtime: 28 ms  Memory Usage: 9.7 MB

    思路

    Solution (C++):

    
    

    性能

    Runtime: ms  Memory Usage: MB

    相关链接如下:

    知乎:littledy

    欢迎关注个人微信公众号:小邓杂谈,扫描下方二维码即可

    作者:littledy
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    服务器性能剖析
    事务
    计算机中信息表示
    Git初识
    Redis 概述
    Jedis源码浅析
    Spring 初识
    责任链模式
    观察者模式
    【支付签名失败问题】
  • 原文地址:https://www.cnblogs.com/dysjtu1995/p/12704088.html
Copyright © 2011-2022 走看看