c – 使用O(1)运行时从向量中删除元素

c – 使用O(1)运行时从向量中删除元素,第1张

概述“编写一个函数,它将矢量类型的对象作为输入 在常数时间中移除等级k处的元素,O(1)[常数].假设元素的顺序无关紧要.“ 我想我可能对此有所了解.但是,当我开始尝试使用.erase()时,我查找了大O符号,并发现它是O(n),就像线性关系一样.我现在想不出任何其他方式.我不想要任何代码,但我认为如果有人可以提供帮助,伪代码至少会指向正确的方向 Assume that the order of el “编写一个函数,它将矢量类型的对象作为输入
在常数时间中移除等级k处的元素,O(1)[常数].假设元素的顺序无关紧要.“

我想我可能对此有所了解.但是,当我开始尝试使用.erase()时,我查找了大O符号,并发现它是O(n),就像线性关系一样.我现在想不出任何其他方式.我不想要任何代码,但我认为如果有人可以提供帮助,伪代码至少会指向正确的方向

解决方法

Assume that the order of elements does not matter.

这是你需要注意的.

假设你有一个向量

0 1 2 3 4 5 6

并且您想要删除3.您可以将其转换为

0 1 2 6 4 5

在O(1)没有任何问题.

总结

以上是内存溢出为你收集整理的c – 使用O(1)运行时从向量中删除元素全部内容,希望文章能够帮你解决c – 使用O(1)运行时从向量中删除元素所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1224472.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存