首頁 > 後端開發 > php教程 > 分享一道算法題的PHP趣味解法

分享一道算法題的PHP趣味解法

藏色散人
發布: 2023-04-11 16:36:01
轉載
1468 人瀏覽過

這篇文章為大家帶來了關於php的相關知識,其中主要跟大家分享一道算法題的趣味解法,有程式碼範例,有興趣的朋友下面一起來看一下吧,希望對大家有幫助。

分享一道算法題的PHP趣味解法

最近在 Leetcode 上看到的,給人眼前一亮的感覺。

原文連結:https://leetcode.cn/problems/contains-duplicate/

題目

給你一個整數陣列 nums 。若任一值在陣列中出現 至少兩次 ,則傳回 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;

    }
登入後複製

趣味解法

原理:擲兩顆骰子,次數夠多,有相同的話,說明是有重複的。

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中文網其他相關文章!

相關標籤:
php
來源:learnku.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板