首页 > 解决方案 > 一个系列中最大的 5 位数字

问题描述

几天来我一直在尝试解决以下问题,但我无法解决这个问题:

在以下 10 位数字中:

1234567890

67890是 5 个连续数字的最大序列。

完成解决方案,使其返回在给定数字中找到的五个连续数字的最大序列。该数字将作为仅由数字组成的字符串传入。它应该返回一个五位整数。传递的数字可能高达 1000 位。

到目前为止,我一直在尝试做的是将字符串拆分为一个数组 ( $arr = str_split($s);) 并使用 for 循环遍历整个内容。

接下来的步骤(遍历五个值,将其保存为变量,检查变量,如果它不是最高的,则丢弃它)对我来说绝对是个谜。

我尝试通过 Stackoverflow 寻找有用的建议,但找不到任何关于该主题的内容。如果我错了,我很抱歉。

标签: phpfor-loop

解决方案


我尝试使用substr

$fullNumber = 1234567898765;
$biggestNumber = 0;

for ($i = 0; $i <= strlen($fullNumber) - 5; $i++) {
    $nextNumber = substr($fullNumber, $i, 5);
    if ($nextNumber > $biggestNumber) {
        $biggestNumber = $nextNumber;
    }
}

echo $biggestNumber;

推荐阅读