>백엔드 개발 >PHP 튜토리얼 >알고리즘 문제에 대한 흥미로운 PHP 솔루션을 공유하세요

알고리즘 문제에 대한 흥미로운 PHP 솔루션을 공유하세요

藏色散人
藏色散人앞으로
2023-04-10 14:21:201492검색

이 기사에서는 주로 알고리즘 문제에 대한 흥미로운 해결책을 공유합니다. 관심 있는 친구들은 아래를 살펴보세요.

알고리즘 문제에 대한 흥미로운 PHP 솔루션을 공유하세요

최근에 Leetcode에서 봤는데 눈이 번쩍 뜨이더라구요.

원본 링크: https://leetcode.cn/problems/contains-duplicate/

Question

정수 배열 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제