📅  最后修改于: 2023-12-03 14:50:20.804000             🧑  作者: Mango
在这个情景中,我们需要删除数组中给定的元素,然后返回剩下元素中最小的元素。下面是一个简单的算法来解决这个问题。
def delete_and_find_min(arr, ele):
"""
删除给定元素并找到最小值
"""
arr = list(filter(lambda x: x != ele, arr))
return min(arr)
arr = [2, 3, 5, 4, 5, 3, 1]
ele = 3
assert(delete_and_find_min(arr, ele) == 1)
arr = [2, 5, 4, 5, 1]
ele = 5
assert(delete_and_find_min(arr, ele) == 1)
在这个算法中,遍历数组需要O(n)个步骤,删除所有与给定元素匹配的元素需要O(n)个步骤,然后需要O(n)个步骤来找到最小的元素。因此,总复杂度为O(n)。