关注
感觉这道题可以用置换的思维,让num[i]存放值为i+1的数字。遍历数组,如果num[i] == i+1,令i++查看下一个num[i]。如果num[i] != i+1,则看num[num[i] - 1]是否等于num[i],如果不同则两者交换,让num[i]到正确的位置,同时判断新的num[i] 是否等于 i+1,重复过程;如果num[num[i] - 1]等于num[i],则说明num[i]出现了两次,令i++查看下一个num[i]。
这样一趟下来,出现一次的数都到了正确的位置(值为i+1的数字回到了num[i])。再次遍历,其余num[i]!=i+1的数字就是出现两次的数字。这个方法时间复杂度为O(n),空间复杂度为O(1)。
查看原帖
4 1
相关推荐
12-15 11:43
门头沟学院 语音识别 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 什么是优秀的实习经历 #
8824次浏览 217人参与
# 实习简历求拷打 #
14116次浏览 166人参与
# 被上班搭子“传染”了哪些习惯 #
5852次浏览 99人参与
# 秋招被挂春招仍然能投的公司 #
7133次浏览 101人参与
# 工作后,你落下了哪些病根 #
13977次浏览 191人参与
# 作业帮求职进展汇总 #
83543次浏览 547人参与
# 外包能不能当跳板? #
54182次浏览 256人参与
# mt对你说过最有启发的一句话 #
37383次浏览 444人参与
# 摸鱼被leader发现了怎么办 #
102412次浏览 650人参与
# 一起聊美团 #
307323次浏览 1764人参与
# 秋招特别不鸣谢 #
16092次浏览 181人参与
# 投格力的你,拿到offer了吗? #
153035次浏览 817人参与
# 考研失败就一定是坏事吗? #
201675次浏览 1377人参与
# 选实习,你更看重哪方面? #
14572次浏览 221人参与
# 京东开奖 #
631745次浏览 3180人参与
# 京东美团大战,你怎么看? #
158206次浏览 861人参与
# 安克创新求职进展汇总 #
62419次浏览 541人参与
# 第一次面试 #
1036652次浏览 13683人参与
# 今年秋招你收到了多少封邮件? #
18174次浏览 220人参与
# 担心入职之后被发现很菜怎么办 #
266471次浏览 1133人参与

