📌  相关文章
📜  删除给定元素后找到最小的(1)

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

删除给定元素后找到最小的

在这个情景中,我们需要删除数组中给定的元素,然后返回剩下元素中最小的元素。下面是一个简单的算法来解决这个问题。

算法
  1. 遍历整个数组,并删除所有与给定元素匹配的元素。
  2. 返回剩余元素中的最小值。
代码实现
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)。