class Solution {
public:
int findMinDifference(vector<string>& timePoints) {
vector<int>k;
int len=timePoints.size();
//化string爲數字,且統一單位爲分鐘;
for(int i=0;i!=timePoints.size();i++){
int a; a=stoi(timePoints[i].substr(0,2))*60+stoi(timePoints[i].substr(3));
k.push_back(a);
}
sort(k.begin(),k.end());
//取最小值;
int min=abs(k[0]-k[1]);
for(int i=0;i!=len;i++){
for(int j=i+1;j!=len;j++){
if(abs(k[i]-k[j])<min)
{ min=abs(k[i]-k[j]);}
}
}
{
int a=abs(k[len-1]-1440)+k[0];
if(a<min) min=a;
}
return min;
}
};
思路:首先根據string的字符進行轉換爲統一單位爲分鐘的數字,然後進行排序,兩兩相減找到最小值;最後由於時間爲24小時制,故判斷最後一個值與第一個值的差;最終取最小值即可;