961. N-Repeated Element in Size 2N Array

题目链接

961. N-Repeated Element in Size 2N Array

题目分析

在长度为2N的数组A中,有N+1个元素。其中恰好有一个元素重复了N遍。
返回这个元素。

一般算法题用数学上的定义方法去描述问题,所以理解起来可能费劲一些。

我们来简化一下问题:

返回数组A中重复了N遍的元素。
=> 返回数组A中出现了N次的元素。
其中,数字N为数组A的长度的一半。

这就好理解了吧?

思路

输入:

  • 数组A

需要:

  • 数字N
    数字N的求法:数组A的长度除以2。
  • 求元素出现次数
    array_count_values函数。

输出:

  • array_search函数,从array_count_values函数的返回中,查找数字N。

最终代码

<?php
class Solution {
    function repeatedNTimes($A) {
        $countValues = array_count_values($A);
        $N = count($A)/2;
        return array_search($N,$countValues);
    }
}

若觉得本文章对你有用,欢迎用爱发电资助。


skys215
42 声望26 粉丝