/**
* 计算最大连续打卡的日期天数
* 例如: [1,2,3,5,7] 则判定为连续有3次打卡成功
*/
public static int continuousDay(List<LocalDate> dateList){
if (dateList == null || dateList.size() ==0) {
return 0;
}
dateList = dateList.stream().sorted(LocalDate::compareTo).collect(Collectors.toList());
int maxContinuousDay = 1;
int continuousDay = 1;
for (int i = 0; i < dateList.size(); i++) {
if (i == dateList.size() -1){
break;
}
LocalDate date = dateList.get(i);
LocalDate secondDate = dateList.get(i + 1);
if (date.plusDays(1).equals(secondDate)){
continuousDay ++;
}else {
if (continuousDay > maxContinuousDay){
maxContinuousDay = continuousDay;
}
continuousDay = 1;
}
}
return maxContinuousDay;
}
Java 计算最大连续打卡的日期天数
猜你喜欢
转载自blog.csdn.net/UserFrank/article/details/125186332
今日推荐
周排行