Maison > développement back-end > Problème PHP > Comment trouver les nombres manquants en PHP

Comment trouver les nombres manquants en PHP

藏色散人
Libérer: 2023-03-17 15:46:02
original
5312 Les gens l'ont consulté

Comment trouver les nombres manquants en PHP : 1. Créez un exemple de fichier php ; 2. Vérifiez le modèle de croissance des exemples de données ; 3. Utilisez "nums[i] == i" ou "nums[i] > i". " Déterminez l'emplacement de la valeur manquante ; 4. Recherchez le nombre manquant en définissant la méthode "function MissingNumber($nums) {...}".

Comment trouver les nombres manquants en PHP

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur Dell G3.

Comment trouver les nombres manquants en PHP ?

PHP Calculez les nombres manquants de 0 à n-1

Les nombres manquants de 0 à n-1

Tous les nombres d'un tableau trié ascendant de longueur n-1 sont uniques, et chaque nombre est compris entre la plage 0 ~ n-1. Parmi les n nombres compris entre 0 et n-1, il n'y a qu'un seul nombre qui ne figure pas dans le tableau. Veuillez trouver ce nombre.

Exemple 1 :

输入: [0,1,3]
输出: 2
Copier après la connexion

Exemple 2 :

输入: [0,1,2,3,4,5,6,7,9]
Copier après la connexion

Sortie : 8

Idées de résolution de problèmes

Recherche binaire simple, le sens de la question indique clairement que tous les nombres augmentent et que la plage de valeurs de tous les nombres sont compris entre [0, n-1] et sont uniques, nous pouvons donc trouver une telle règle :

Tant que nums[i] == i pendant le processus de requête, alors la valeur manquante doit être du côté droit of i;

Si pendant le processus de requête In nums[i] > i, alors la valeur manquante doit être à gauche donc à la fin, retournez simplement min comme résultat.

Code

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;
    }
}
Copier après la connexion

Apprentissage recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal