【发布时间】:2021-08-10 15:00:44
【问题描述】:
给定一个数组,从数组的开头到结尾,每当遇到数字“2”时,在其后添加另一个“2”。
这样做会删除数组中的最后一个元素,因为最终数组的大小应该与初始数组相同。
例如,如果初始数组是
[23, 2, 3, 12, 2, 2, 34, 55, 66, 79]
那么修改后的数组应该是
[23, 2, 2, 3, 12, 2, 2, 2, 2, 34]
预计时间复杂度为 O(n),您应该就地执行(仅使用恒定数量的额外内存)。
在 O(n^2) 中很容易,但在 O(n) 中???
【问题讨论】:
-
欢迎来到 SO。请向我们展示您在 O(n) 尝试方面的尝试。你被困在哪里了?
标签: algorithm complexity-theory