面试题03. 数组中重复的数字

地址:https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof/

<?php

/**
 *
 * 找出数组中重复的数字。
 *
 *
 * 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。
 *
 * 示例 1:
 *
 * 输入:
 * [2, 3, 1, 0, 2, 5, 3]
 * 输出:2 或 3
 *
 *
 * 限制:
 *
 * 2 <= n <= 100000
 */

class Solution {

    /**
     * @param Integer[] $nums
     * @return Integer
     */
    function findRepeatNumber($nums) {
        $search = [];
        foreach ($nums as $num) {
            if (array_key_exists($num, $search)) {
                return $num;
            }
            $search[$num] = 1;
        }
    }
}

$solution = new Solution();
$nums = [1, 1, 1];
var_dump($solution->findRepeatNumber($nums));

 

posted @ 2020-05-15 15:44  花花妹子。  阅读(129)  评论(0编辑  收藏  举报