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

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

藏色散人
풀어 주다: 2023-04-11 16:36:01
앞으로
1468명이 탐색했습니다.

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

알고리즘 문제에 대한 흥미로운 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:learnku.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿