この記事では主に、ソートされた配列内の数値の出現数をカウントする PHP の方法を紹介し、二分探索アルゴリズムに基づいて配列内で検索およびカウントするための PHP の関連操作スキルを含みます。必要な友人は参照してください
この記事の例では、ソートされた配列内の数値の出現数をカウントする PHP の方法について説明します。参考までにみんなと共有してください。詳細は次のとおりです:
質問
並べ替えられたリストに数字が出現する回数を数えます。配列。
解決策
これは並べ替えられた配列であるため、二分探索が最も効率的です。見つけたら両側に広げます。
コード
<?php function GetNumberOfK($data, $k) { if(count($data)==0){ return 0; } $index = 0; $low = 0; $high = count($data)-1; $middle = 0; //二分查找找到k的index while($low<=$high){ $middle = ($high+$low)>>1; if($data[$middle]==$k){ $index = $middle; break; } else if($data[$middle]>$k) { $high = $middle -1; }else{ $low = $middle+1; } $index = -1; } // console.log(index); // 如果没找到 if($index==-1){ return 0; } //找到了 分别往左右查找边界 $start = $index; $end = $index; $count = 0; while($data[$start]==$k){ $count++; $start--; } while($data[$end]==$k){ $count++; $end++; } return $count-1; }
追記: 皆さんにもう一度お届けします参考として、同様の機能を備えた 2 つの統計ツール (JS 実装) を推奨します:
オンライン単語数統計ツール:
http : //tools.jb51.net/code/zishutongji
オンライン キャラクター統計および編集ツール:
http://tools.jb51.net/ code /char_tongji
PHP は ffmpeg を呼び出してビデオのスクリーンショットを撮り、スクリプトを結合します
#
以上がPHP は、ソートされた配列内の数値の出現数をカウントする方法を説明しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。