希望有两种解决方案可以将时间复杂度从 O(n) 降低到 O(1)。

  1. 交换

我们可以使用一种巧妙的策略。首先,用存储桶中的最后一个元素交换要移除的元素。然后删除最后一个元素。通过这种方法,我们成功地在 O(1) 的时间复杂度中去除了元素。

  1. 链表

实现此目标的另一种方法是使用链表而不是数组列表。通过这种方式,我们可以在不修改列表中的顺序的情况下删除元素。该策略时间复杂度为 O(1)。