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小时制,故判断最后一个值与第一个值的差;最终取最小值即可;