81,119
社区成员




@Data
public class Dat{
String date; // 当前时间
boolean flag; // 是否开灯
public Dat(String date, boolean flag) {
this.date = date;
this.flag = flag;
}
}
// 计算两个时间点的时长间隔
public int getLenTime(String start,String end){
int st = Integer.parseInt(end.substring(3, 5));
int en = Integer.parseInt(start.substring(3, 5));
int res = (en - st + 60) % 60;
return res;
}
public void test03(){
Dat dat01 = new Dat("11:00",true);
Dat dat02 = new Dat("11:10",true); //10 true表示前一时间点内到当前时间点是开灯的
Dat dat03 = new Dat("11:20",false);
Dat dat04 = new Dat("11:31",false);
Dat dat05 = new Dat("11:40",true); //9
Dat dat06 = new Dat("11:50",true); //10
Dat dat07 = new Dat("12:00",true); //10
Dat dat08 = new Dat("12:11",true); //11
Dat dat09 = new Dat("12:20",false);
Dat dat10 = new Dat("12:30",false);
// dat01,dat02,dat03,dat04,dat05,dat06,dat07,dat08,dat09,dat10
List<Dat> dats = Lists.newArrayList(dat01,dat02,dat03,dat04,dat05,dat06,dat07,dat08,dat09,dat10);
// 最后需要的结果:
// 求灯运行时间: 50
// 求最后的灯运行时间: 11:31 到 12:11