不要用LinkedList作为容器,因为链表做索引时间过长。
这道题不要多想…千万不要多想,看题,它说删除就是删除。或者自己再举个例子看看,它那个例子就是迷惑你的。
class Solution {
public int lastRemaining(int n, int m) {
ArrayList<Integer> list = new ArrayList();
if (n < 1 || m < 1)
return -1;
for (int i=0;i<n;i++){
list.add(i);
}
int temp=0;
//通过求余实现循环求数
while(list.size()>1){
temp = (temp+m-1)%list.size();
list.remove(temp);
}
return list.get(0);
}
}
这篇博客讨论了在执行删除操作时,为何不应使用LinkedList作为容器,因为链表对于索引操作的时间复杂度较高。文章提供了一个示例代码,展示了如何在ArrayList中实现循环删除元素的方法,以提高效率。
416

被折叠的 条评论
为什么被折叠?



