欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2023-12-21 20:56:34
...

题目描述:
给定一个数组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))
相关标签: 笔面试试题

上一篇:

下一篇: