📅  最后修改于: 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。
以上就是查询数组中不包含给定索引范围的最小元素的方法及代码。