Heim  >  Artikel  >  Backend-Entwicklung  >  Teilen Sie eine interessante PHP-Lösung für ein Algorithmusproblem

Teilen Sie eine interessante PHP-Lösung für ein Algorithmusproblem

藏色散人
藏色散人nach vorne
2023-04-10 14:21:201409Durchsuche

Dieser Artikel vermittelt Ihnen hauptsächlich eine interessante Lösung für ein Algorithmusproblem. Ich hoffe, dass er für alle hilfreich ist. .

Teilen Sie eine interessante PHP-Lösung für ein Algorithmusproblem

Ich habe es kürzlich auf Leetcode gesehen und es gab mir ein strahlendes Gefühl.

Originallink: https://leetcode.cn/problems/contains-duplicate/

Title

Sie erhalten ein Array mit ganzen Zahlen. Gibt „true“ zurück, wenn ein Wert mindestens zweimal im Array vorkommt; gibt „false“ zurück, wenn jedes Element im Array unterschiedlich ist.

示例 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

Standardlösung

    function containsDuplicate($nums) {

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

    }

Interessante Lösung

Prinzip: Wirf zwei Wenn die Würfel oft genug gleich sind, liegt eine Wiederholung vor.

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;
    }

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonTeilen Sie eine interessante PHP-Lösung für ein Algorithmusproblem. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen