이 기사에서는 주로 알고리즘 문제에 대한 흥미로운 해결책을 공유합니다. 관심 있는 친구들은 아래를 살펴보세요.
최근에 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!