node.js - 求php判断几连数的的代码思路。
假如输入一个数222246787
计算出来是4连号
假如输入一个数342222267
计算出来是5连号
.......
求代码思路
回复内容:
假如输入一个数222246787
计算出来是4连号
假如输入一个数342222267
计算出来是5连号
.......
求代码思路
用正则也可以处理,只需要三行代码
function test($num){ preg_match_all("/(\d)\\1+/",$num,$match); rsort($match[0],SORT_NUMERIC); return strlen($match[0][0])?:1; } echo test("222246787");// 4 echo test(342222267); // 5
把输入的数当作字符串处理,用一个数字记录最大的连数(maxCount),初始值为0,一个记录当前的连数(count)
从下标为1的字符开始,如果当前字符等于它的前一个那么count++,如果不相等count=1
然后maxCount=max(maxCount,count)
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
<code>$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次。</code>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

HTML テーブル レイアウトのガイド。ここでは、HTML テーブル レイアウトの値と例および出力について詳しく説明します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
