Java 高级算法 | 您所在的位置:网站首页 › 查找数列中重复数字python › Java 高级算法 |
题目二:不修改数组找到重复的数字。 在一个长度为n+1的数组中,所有的数字都在1-n的范围之内,所以数组中至少一个是重复的,请找到重复的数字,但不能修改输入的数组 方法一:创建一个长度为n+1的辅助数组,然后逐一的将所有的数组里的元素都复制到辅助数组中去,如果数组中的数字是m,就将数字复制到下标为m的数组位置。这样,就可以得到哪一个元素是重复的。 方法二:我们将1-n的数字从中间的数字m分成2分,前一部分为1~m,后一部分为m+1~n,如果1~m的数据大于m ,那么重复的数据就在1~m之中,然后在将1~m在分成2分,依次类推。最后就可以得到那个数字重复了。 文章来源:segmentfault,作者:雨露。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:sean.li#ucloud.cn(邮箱中#请改为@)进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。![]() |
CopyRight 2018-2019 实验室设备网 版权所有 |