📌  相关文章
📜  返回最小的正整数 python (1)

📅  最后修改于: 2023-12-03 15:12:19.753000             🧑  作者: Mango

返回最小的正整数 Python

在编写程序时,通常需要在一组数字中找到最小的正整数。这个任务有许多不同的方法和算法。在这篇文章中,我们将探讨最常见和最简单的方法。

方法一

一种常见的方法是使用 Python 内置函数 min()range()。这将给出一组数字的最小值,包括 1 到指定数字的范围。这是最简单的方法,例如:

def find_smallest_int(arr):
    return min(range(1, max(arr)+2), key=lambda x: x not in arr)
方法二

另一种方法是使用 while 循环和 if 语句来迭代一组数字并找到最小整数。这个方法需要我们先对这组数字进行排序。然后,我们利用 while 循环来迭代每个元素,并将其与一个计数器变量 smallest 比较。如果迭代到的元素比 smallest 小,那么我们将这个元素指定为新的 smallest

def find_smallest_int(arr):
    arr = sorted(arr)
    smallest = 1
    for num in arr:
        if num <= smallest:
            smallest = num
        else:
            break
    return smallest
方法三

第三种方法是使用一个字典来记录所有出现过的数字。然后我们可以迭代一组数字,将其添加到字典中,将最小数字设为 1,并检查字典中是否有更小的正整数。如果有,则我们将它设为新的最小值。这个方法可以有效地解决一组数字过大的情况。

def find_smallest_int(arr):
    num_dict = {}
    for num in arr:
        if num > 0:
            num_dict[num] = 1
    smallest = 1

    while smallest in num_dict:
        smallest += 1
    return smallest

无论你使用哪种方法,这些算法都可以让你在给定的一组数字中找到最小的正整数。它们可以为你的程序提供多种选择,从而优化你的代码并实现更好的性能。