📌  相关文章
📜  查询数组中不包含给定索引范围的最小元素(1)

📅  最后修改于: 2023-12-03 14:55:37.594000             🧑  作者: Mango

查询数组中不包含给定索引范围的最小元素

当我们需要在一个数组中查找不包含给定索引范围的最小元素时,可以使用以下的方法。

首先,我们需要定义一个函数,该函数接收三个参数,分别为数组、起始索引和结束索引。函数内部先将起始索引和结束索引排序,然后遍历数组,当索引不在起始索引和结束索引范围内时,比较当前元素和最小元素,更新最小元素即可。

def find_min(arr, start, end):
    start, end = sorted([start, end])
    min_val = float('inf')
    for i, num in enumerate(arr):
        if i < start or i > end:
            min_val = min(min_val, num)
    return min_val

在上述代码中,使用了 Python 内置函数 sorted 对起始索引和结束索引进行排序,确保起始索引小于等于结束索引。

然后使用 enumerate 函数遍历数组,获取当前元素和索引。如果索引不在起始索引和结束索引范围内,将当前元素和最小元素比较,更新最小元素即可。最后返回最小元素。

接下来是测试代码:

arr = [5, 3, 6, 1, 7, 2, 8]
print(find_min(arr, 2, 5))  # 2
print(find_min(arr, 1, 4))  # 1
print(find_min(arr, 0, 6))  # 1

运行上述测试代码会依次输出 2、1、1,表示在不包含给定索引范围内的最小元素分别为 2、1、1。

以上就是查询数组中不包含给定索引范围的最小元素的方法及代码。