leetcode-539-Minimum Time Difference

leetcode-539-Minimum Time Difference

539. Minimum Time Difference

  • Total Accepted: 3164
  • Total Submissions: 7087
  • Difficulty: Medium
  • Contributors: fallcreek

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.

 

 

Subscribe to see which companies asked this question.

 

题解:

简单的时钟问题; (1), 先对时间进行排序, (2),计算头尾即可

 

 

class Solution {
public:
    int GetNum(string tp){
        return (60*((tp[0]-'0')*10 + (tp[1]-'0')) + (tp[3]-'0')*10 + tp[4]-'0'); 
    } 
    int findMinDifference(vector<string>& timePoints) {
        int len = timePoints.size(); 
        if(len <= 1){
            return 0; 
        }
        sort(timePoints.begin(), timePoints.end()); 
        int tmp, ans = 24*60-GetNum(timePoints[len-1]) + GetNum(timePoints[0]); 
        for(int i=0; i<len-1; ++i){
            tmp = GetNum(timePoints[i+1]) - GetNum(timePoints[i]); 
            if(tmp < ans){
                ans = tmp; 
            }
        }
        return ans; 
    }
};

  

 

posted @ 2017-03-21 22:36  zhang--yd  阅读(390)  评论(0编辑  收藏  举报