删除 2 个给定索引之间的元素的最佳算法

Best algorithm to remove elements between 2 given indices

本文关键字:元素 最佳 算法 之间 索引 删除      更新时间:2023-10-16

所以我正在尝试学习算法效率。我知道如何从数组中删除一个元素,但不确定如何在两个索引之间删除。让我们假装 list = {1,2,3,4,5,6,7,8,9,10},我们用参数调用removeBetween方法: removeBetween(2, 6);

public void removeBetween(int FirstIndex, int LastIndex)
{

}
您可以

遵循的一般算法方向:

要删除 2 个给定索引之间的所有数字,例如 (FirstIndex, LastIndex):

  • 将所有元素从索引 0 复制到 FirstIndex 到 result 数组。

  • 接下来,将所有元素从 LastIndex 复制到 Array.lenght()-1 索引到上面的同一result数组。

返回result .

所以如果你的项目在数组列表中,你可以做如下的事情:

ArrayList<Whatever object is> newElements = yourlist.sublist( 0, firstIndex );
newElements.addAll( yourlist.subList( LastIndex + 1, yourlist.size() ) ;