关于求1001个数中的重复数的问题
题目描述:
1-1000放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现
一次。每个数组元素只能访问一次,设计一个算法,将它找出来;不用辅助存储空
间,能否设计一个算法实现?
莫贝特提供的算法是:用1001个数组元素的和减去1-1000的和(即n*(n-1)/2)。
我想如果用于求和的sum变量不算辅助存取空间的话。那么用散列的思想效率更高,因为在大多数情况下,不用遍历
整个数组就可以找到重复的数字。
代码:
1-1000放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现
一次。每个数组元素只能访问一次,设计一个算法,将它找出来;不用辅助存储空
间,能否设计一个算法实现?
莫贝特提供的算法是:用1001个数组元素的和减去1-1000的和(即n*(n-1)/2)。
我想如果用于求和的sum变量不算辅助存取空间的话。那么用散列的思想效率更高,因为在大多数情况下,不用遍历
整个数组就可以找到重复的数字。
代码:
Code
作者:网络小筑
个人网站:生活百科
本文版权所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
个人网站:生活百科
本文版权所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。