美文网首页
算法:重复N次的元素

算法:重复N次的元素

作者: 金星show | 来源:发表于2020-05-12 16:24 被阅读0次

题目:在大小为2N的数组A中有N+1个不同的元素,其中有一个元素重复了N次。返回重复了N次的那个元素;(从题目中可以分析到只会存在一个重复的元素)

示例:
输入:【1,2,3,3】
输出:3
输入:【2,1,2,5,3,2】
输出:2

解法1---计数法

$a = [2,1,2,5,3,2];

foreach($a as $v) {
    if (!isset($tmp[$v])) {
        $tmp[$v] = 1;
    } else {
        echo $v;die();
    }
}
时间复杂度: O(N/2+1)

解法2---距离法
1234566666 1626364656 6126363656 。。。
3123 3132 3312 。。。 最大距离为2
不管如何排列,假定上述条件的基础上,重复元素之间的距离最大不会超过3,也就是最大距离为2;

$a = [1,2,3,4,5,6,6,6,6,6];
//$b = [3,1,2,3];

for ($i=1;$i<=3;$i++) {
    for ($j=0;$j<count($a)-$i;$j++) {
        if ($a[$j] == $a[$j+$i]) {
            echo $a[$j];die();
        }
    }
}
时间复杂度: 3 * O(N)  一般常数会省略

相关文章

  • 算法:重复N次的元素

    题目:在大小为2N的数组A中有N+1个不同的元素,其中有一个元素重复了N次。返回重复了N次的那个元素;(从题目中可...

  • LeetCode 961. 重复 N 次的元素

    961. 重复 N 次的元素 在大小为 2N 的数组 A 中有 N+1 个不同的元素,其中有一个元素重复了 N 次...

  • 961. 重复 N 次的元素

    在大小为 2N 的数组 A 中有 N+1 个不同的元素,其中有一个元素重复了 N 次。返回重复了 N 次的那个元素...

  • 重复 N 次的元素

    在大小为 2N 的数组 A 中有 N+1 个不同的元素,其中有一个元素重复了 N 次。 返回重复了 N 次的那个元...

  • 2019-03-01 Day54待提高

    1.#### 重复 N 次的元素在大小为 2N 的数组 A 中有 N+1 个不同的元素,其中有一个元素重复了 N ...

  • 961. 重复 N 次的元素

    题目描述 在大小为 2N 的数组 A 中有 N+1 个不同的元素,其中有一个元素重复了 N 次。返回重复了 N 次...

  • LeetCode 重复 N 次的元素

    在大小为 2N 的数组 A 中有 N+1 个不同的元素,其中有一个元素重复了 N 次。 返回重复了 N 次的那个元...

  • n维列表

    列表 * 常数 n =此列表内的元素重复n次,例:

  • 数组重复元素求值

    数组重复元素求值 题目描述: 数组 a[N] 中存放了 1 至 N - 1 个数,其中某个数重复了一次。求找出重复...

  • 算法: 选择排序

    选择排序(Selection sort)是一种简单直观的排序算法,复杂度O(N^2)。重复挑选 最小/最大的元素 ...

网友评论

      本文标题:算法:重复N次的元素

      本文链接:https://www.haomeiwen.com/subject/lxwrthtx.html