找出不在数组中的最小的那个数字

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))

以上是关于找出不在数组中的最小的那个数字的主要内容,如果未能解决你的问题,请参考以下文章

C语言找出一个数组中出现次数最多的那个元素

用C#找出数组中的最大值和最小值

JAVA作业,找出一个数组中非零最小正整数

找出数组中出现次数超过一半的数字

剑指Offer面试题:6.旋转数组中的最小数字

用Android Studio 手动输入的数字中找出最大和最小的数字