ホームページ  >  記事  >  バックエンド開発  >  PHP で欠落している数値を見つける方法

PHP で欠落している数値を見つける方法

藏色散人
藏色散人オリジナル
2022-12-14 09:47:165289ブラウズ

欠落している数値を見つけるための PHP 方法: 1. PHP サンプル ファイルを作成します; 2. サンプル データの増加パターンを確認します; 3. "nums[i] == i" または "nums[i] > ; i" メソッドを使用して欠損値の位置を特定します。 4. "function missingNumber($nums) {...}" メソッドを定義して欠損数値を見つけます。

PHP で欠落している数値を見つける方法

このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 8.1、Dell G3 コンピューター。

PHP で欠落している数値を見つけるにはどうすればよいですか?

PHP 0 から n-1 までの欠損数を計算します

0 から n-1 までの欠損数

#A 長さは次のとおりです。 n-1 の昇順にソートされた配列内のすべての数値は一意であり、各数値の範囲は 0 から n-1 です。 0~n-1のn個の数値のうち、配列にない数値が1つだけありますので、その数値を探してください。

例 1:

输入: [0,1,3]
输出: 2

例 2:

输入: [0,1,2,3,4,5,6,7,9]

出力: 8

ソリューションのアイデア

シンプル二分探索では、質問の意味はすべての数値が増加していることは明らかであり、すべての数値の値の範囲は [0, n-1] 内にあり一意であるため、次のようなルールを見つけることができます。クエリ プロセス中に nums[i] == i である限り、欠損値は i の右側にある必要があります;

クエリ プロセス中に nums[i] > i の場合、欠損値は i の右側にある必要があります。値は左側にある必要があるため、最終的には min を結果として返すだけです。

コード

class Solution {
    /** * @param Integer[] $nums * @return Integer */
    function missingNumber($nums) {
        $min = 0;
        $max = count($nums) - 1;
        while ($min <= $max) {
            $mid = (int)($min + ($max - $min) / 2);
            $mid == $nums[$mid] ? $min = $mid + 1 : $max = $mid - 1;
        }
        
        return $min;
    }
}

推奨学習: 「

PHPビデオチュートリアル

以上がPHP で欠落している数値を見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。