Dieser Artikel vermittelt Ihnen hauptsächlich eine interessante Lösung für ein Algorithmusproblem. Ich hoffe, dass er für alle hilfreich ist. .
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!