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

数组中重复的数字

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-14 17:23
门头沟学院
故事和酒66:所以说副业很重要,程序员干到40岁,再怎么也赚300万了,吃吃利息也够活下去
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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