php判断出现几次,求php判断几连数的的代码思路。

1- 设当前号码是 currentNumber = false;

2- 设当前号码连续出现次数是 currentNumberTimes = 1;

3- 设最大连续出现次数是 maxTimes = 0;

4- 设最大连续出现次数对应的数字是 maxTimesNumber = false;

5- 将数字转为字符串,顺序读取每一位,该位的值存入变量 n

6- 将 n 和 currentNumber对比,如果一致 currentNumberTimes ++,否则:

6.1 用currentNumberTimes和maxTimes对比,如果大于maxTimes, maxTimes = currentNumberTimes; maxTimesNumber = currentNumber

6.2 currentNumber = n,currentNumberTimes = 1

7- maxTimesNumber为所求数字, maxTimes为连续出现的次数

注:如果出现相同长度的连续数字,取值为第一个,如 111222,maxTimesNumber = 1, maxTimes = 3

$number = '43124321333334124233343223900';

$currentNumber = false;

$currentNumberTimes = 1;

$maxTimes = 0;

$maxTimesNumber = false;

for ($i = 0, $l = strlen($number); $i < $l; $i ++ ) {

$n = $number[$i];

if ($n === $currentNumber) {

$currentNumberTimes ++;

} else {

if ($currentNumberTimes > $maxTimes) {

$maxTimes = $currentNumberTimes;

$maxTimesNumber = $currentNumber;

}

$currentNumberTimes = 1;

$currentNumber = $n;

}

}

echo "数字{$maxTimesNumber}连续出现了{$maxTimes}次。\n";

//数字3连续出现了5次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值