【问题标题】:delete element in queue in javajava删除队列中的元素
【发布时间】: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


【解决方案1】:

如果您使用任何 LinkedList 实现队列,这非常容易。 当您将此问题标记为“java”时,您可能会使用java.util.ArrayList

好像是作业题,

【讨论】:

  • A java.util.ArrayList 不是链表。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-16
  • 2021-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-13
相关资源
最近更新 更多