【发布时间】:2016-10-30 02:22:20
【问题描述】:
编写方法public staticvoid remove(Queueq, int[] pos, int k),将q中所有位于pos所指位置的元素移除(k为pos的大小)。假设 pos 按升序排序,没有重复,只包含有效位置。位置的编号从头部的 0 开始。该方法必须在 O(n) 中运行,其中 n 是 q 的大小(不是 O(kn))。 示例:如果 q : A,B,C,D,E,F,G,H 和 pos : 1,2,5,那么在调用 remove(q, pos, 3) 后,q 变为 A, D, E, G ,H。
【问题讨论】:
-
你可以使用额外的空间吗?
-
你应该使用链表来实现,你不需要任何额外的空间。
-
这是一道作业题。
标签: java data-structures queue