美文网首页
1-1000放在含有1001个元素的数组中

1-1000放在含有1001个元素的数组中

作者: ichengzi | 来源:发表于2017-03-04 00:03 被阅读126次

1-1000放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现一次.每个数组元素只能访问一次,设计一个算法,将它找出来;不用辅助存储空间,能否设计一个算法实现?

方法1

将1001个元素相加减去1,2,3,……1000数列的和,得到的差即为重复的元素。

int Find(int *a)
{
    int i;
    for (i = 0; i <= 1000; i++)
    {
        a[1000] += a[i];//这个实现是有问题的
    }
    a[1000] -= 1001*1000/ 2; //高斯算法
    return a[1000];
}

这个算法实现是有错误的,因为当i为1000时,a[1000]的原始值已经丢失了,读取访问到的其实是前1000个值得和。

相关文章

  • 1-1000放在含有1001个元素的数组中

    1-1000放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现一次.每个数组元素只能访问一次,...

  • JavaScript学习笔记之数组

    JS中,数组是弱类型的,数组中可以含有不同类型的元素,数组元素甚至可以是对象或其他数组,如:var arr=[1,...

  • 荷兰国旗

    问题: 对于数组a,数组a中的一个元素k;数组a中小于k的元素放在数组的左边,等于k的元素放在数组中间,大于k的元...

  • 算法概论

    题目: 2.14 给定一个含有n个元素的数组,注意到数组中的某些元素是重复的,即这些元素在数组中出现不止一次。给出...

  • 异或运算的应用,今日头条面试算法题

    原题   1~n放在含有n+1个元素的数组中,只有唯一的一个元素值重复,其它均只出现一次。要求时间复杂度O(n),...

  • java数组学习

    数组存储方式: 数组引用变量是存放在栈内存(stack)中,数组元素是存放在堆内存(heap)中,通过栈内存中的指...

  • js笔记

    js数组 删除某个元素 js数组是否含有某个元素 判断value为undefined cookie操作

  • 数组面试题-子集和问题

    题目描述 给定一个含有n个元素的整形数组,再给定一个和sum,求出数组中满足给定和的所有元素组合存在一个数组中。 ...

  • JavaScript中数组对象详解

    Array对象即数组对象用于在单个变量中存储多个值,JS的数组是弱类型的,所以允许数组中含有不同类型的元素,数组元...

  • 2.23如果一个数组A[1...n]中超过半数的元素都相同时,该

    题目三: 2.23如果一个数组A[1...n]中超过半数的元素都相同时,该数组被称为含有一个主元素。给定一个数组,...

网友评论

      本文标题:1-1000放在含有1001个元素的数组中

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