Leetcode PHP题解--D4 961. N-Repeated Element in Size 2N Array

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);
    }
}

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

转载于:https://my.oschina.net/u/2246923/blog/3022284

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值