ホームページ > バックエンド開発 > PHPチュートリアル > アルゴリズムの問​​題に対する興味深い PHP ソリューションを共有する

アルゴリズムの問​​題に対する興味深い PHP ソリューションを共有する

藏色散人
リリース: 2023-04-11 16:36:01
転載
1435 人が閲覧しました

この記事は、PHP に関する関連知識を提供します。主に、アルゴリズムの問​​題に対する興味深い解決策を共有します。コード例もあります。興味のある友人は、以下を参照してください。すべての人に役立つことを願っています。

アルゴリズムの問​​題に対する興味深い 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 サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:learnku.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート