Java 高级算法 您所在的位置:网站首页 查找数列中重复数字python Java 高级算法

Java 高级算法

#Java 高级算法| 来源: 网络整理| 查看: 265

题目二:不修改数组找到重复的数字。

在一个长度为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 实验室设备网 版权所有