找出不在数组中的最小的那个数字
发布日期:2021-05-08 01:41:34 浏览次数:15 分类:原创文章

本文共 403 字,大约阅读时间需要 1 分钟。

题目描述:
给定一个数组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)+1a=[1,2,3,5]print(minNum(a))
上一篇:求二维数组中最大值的位置
下一篇:高频面试题:部分排序

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月09日 08时08分16秒