您的位置:首页 > 编程语言 > PHP开发

php计算时间段的最大连续天数

2020-09-21 12:06 1251 查看

如需求:最高连续打卡多少天? 或者一串数字,最大连续数字有多少个。

$nums = ['2018-10-09','2018-10-10','2018-10-11','2018-10-13','2018-10-15','2018-10-16','2018-10-17','2018-10-18'];
$max  = 0;
$hash = [];
foreach ($nums as $val) {
$hash[$val] = 1;
}
foreach ($nums as $val){
$num = 1;
if (!$hash[$val - 1]) {
while($hash[++$val]) $num++;
}
$max = $num > $max ? $num : $max;
}

echo $max;
$nums = [0, 3, 7, 2, 5, 8, 4, 6, 0, 1];
$max  = 0;
$hash = [];
foreach ($nums as $val) {
$hash[$val] = 1;
}
foreach ($nums as $val){
$num = 1;
if (!$hash[$val - 1]) {
while($hash[++$val]) $num++;
}
$max = $num > $max ? $num : $max;
}

echo $max;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: