この記事は、PHP に関する関連知識を提供します。主に、アルゴリズムの問題に対する興味深い解決策を共有します。コード例もあります。興味のある友人は、以下を参照してください。すべての人に役立つことを願っています。
#最近 Leetcode でこれを見て、目が輝きました。
元のリンク: https://leetcode.cn/problems/contains-duplicate/
Question
整数配列 nums を与えてください。配列内に値が少なくとも 2 回出現する場合は true を返し、配列内の各要素が個別である場合は false を返します。
示例 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
標準的な解決策
function containsDuplicate($nums) { foreach($nums as $val){ if($repeat[$val] != ''){ return true; }else{ $repeat[$val] = $val; } } return false; }
興味深い解決策
原則: 2 つのサイコロを十分な回数振って、それらが同じであれば、という説明が繰り返されます。
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; }
推奨学習: 「PHP ビデオ チュートリアル 」
以上がアルゴリズムの問題に対する興味深い PHP ソリューションを共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。