找出不在数组中的最小的那个数字
Posted 3Sunremitting
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了找出不在数组中的最小的那个数字相关的知识,希望对你有一定的参考价值。
题目描述:
给定一个数组a=[4,23,8,9,12,1,2,5,3],在这个数组中,6没有出现,所以6是不在数组中的最小的数字。
解题思路:
主要是使用数组的一个特性,设数组中的数据是A[1]、A[2]、、、、、A[n],如果该数组中存在未被使用过的数,那么max(A)>n。这个特性类似于抽屉原理,因为总共n个数,如果每个数都被使用过,则最后到达第n个位置的时候,肯定有A[n]=n(这里假设下标是从1开始的)。由此,根据这个特性,便可以给出如下代码。
代码实现:
# 不在数组中的最小的数字
def minNum(arr):
arr.sort()
for i in range(0,len(arr)):
if arr[i]>(i+1):
return i+1
return len(arr)+1
a=[1,2,3,5]
print(minNum(a))
以上是关于找出不在数组中的最小的那个数字的主要内容,如果未能解决你的问题,请参考以下文章