题解 | #数组中重复的数字#

数组中重复的数字

http://www.nowcoder.com/practice/6fe361ede7e54db1b84adc81d09d8524

思路:
1.首先遍历数组 由题意可知如果对数组进行排序index和val应该一致
2.遍历数组 先判断number[i] ?= i 如果等于直接next
3.不等于的话 number[i]值m m索引对应的值是不是m 如果是的话 则找出重复值m 分别是number[i]和number[m]
4.如果m索引对应的值不是m 则number[i] = number[m] ; number[m] = m

代码:python3
for i, num in enumerate(numbers):
while number[i] != i:
m = number[i]
if number[m] == m:
return m
else:
number[i] = number[m]
number[m] = m
return -1

全部评论

相关推荐

09-22 22:22
中山大学 Java
双尔:赌对了,不用经历秋招的炼狱真的太好了,羡慕了
点赞 评论 收藏
分享
牛客42479632...:多投吧 我学c++就学了3个月都找到好几家实习了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务