今天是人生中第一次开车上班,想要感受下广州的开车上下班的感觉,开车上班后,因为开的车是东莞的牌,广州实行开四停四的政策,然后就要想着自己开了几天明天是否还可以开,然后做一个程序猿,很职业的想到这样一个问题,如果交通管理系统是我做的,如果拍到今天开车了,系统后台是如何实现计算开四停四违法了呢?
首先要理解的是广州这个“开四停四”这个管理措施,官方描述:即非广州市籍中小客车驶入广州市中心区连续行驶时间最长不得超过4天,再次驶入须间隔4天以上,例子如下图:
一开始的时候就在要找到哪天开始开的,累计开了多少天,但这政策是不存在类似月初清0的没有开头,什么隔天开,如果按照这种思路有点复杂,后面换一个思路.
想了一下发现要实现这个算法,关键是找到连续停的四天,如果八天里存在一个连续停的四天,那说明本次开车是合法的,为什么是八天呢,因为是开的四天+停的四天,不管这八天里这开的四天是怎么开的,是连续四天还是隔着开的四天,停的天数它必须是连续的.
所以关键判断是否存在连续停的四天就可以了
package com.jim.java8;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
/**
* 广州开4停4限