这是本周最新的题目,题目是给很多时间大概像这样
Input: ["23:59","00:00"]
然后,在里面找到到最近的两个时间点
我的思路是把他全部转换为分钟表示,然后就像一个循环列表找最小距离了
public class Solution {
public int findMinDifference(List<String> timePoints) {
int[] table=new int[timePoints.size()];
int day=24*60;
int min=Integer.MAX_VALUE;
for(int i=0;i<timePoints.size();i++){
String[] time1=timePoints.get(i).split(":");
int minite1=0;
minite1=(time1[0].charAt(0)*10+time1[0].charAt(1))*60+time1[1].charAt(0)*10+time1[1].charAt(1);
table[i]=minite1;
}
Arrays.sort(table);
for(int i=0;i<table.length-1;i++){
int min1=table[i+1]-table[i];
min=Math.min(min,min1);
}
if(table.length>=2){
min=Math.min(day+table[0]-table[table.length-1],min);
}
return min;
}
}