Partagez une solution PHP intéressante à un problème d'algorithme

藏色散人
Libérer: 2023-04-11 16:36:01
avant
1428 Les gens l'ont consulté

Cet article vous apporte des connaissances pertinentes sur PHP. Il partage principalement avec vous une solution intéressante à un problème d'algorithme. Les amis intéressés peuvent y jeter un œil ci-dessous.

Partagez une solution PHP intéressante à un problème d'algorithme

Je l'ai vu récemment sur Leetcode et ça m'a fait briller les yeux.

Lien original : https://leetcode.cn/problems/contains-duplicate/

Question

Vous recevez un tableau de nombres entiers. Renvoie vrai si une valeur apparaît au moins deux fois dans le tableau ; renvoie faux si chaque élément du tableau est distinct.

示例 1:

输入:nums = [1,2,3,1]
输出:true

示例 2:

输入:nums = [1,2,3,4]
输出:false

示例 3:

输入:nums = [1,1,1,3,3,4,3,2,4,2]
输出:true
Copier après la connexion

Solution standard

    function containsDuplicate($nums) {

        foreach($nums as $val){
            if($repeat[$val] != ''){
                return true;
            }else{
                $repeat[$val] = $val;
            }
        }
        return false;

    }
Copier après la connexion

Solution intéressante

Principe : Lancez deux dés suffisamment de fois, cela signifie qu'il y a une répétition.

function containsDuplicate($nums) {
        $total = count($nums);

       for ($i=0; $i < 100000; $i++) {
           $a = mt_rand() % $total;
           $b = mt_rand() % $total;

            if($a != $b && ($nums[$a] == $nums[$b])){
                return true;
            }
       }

        return false;
    }
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:
php
source:learnku.com
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