您能否建议我在 O(n) 时间内从给定数组中删除所有零且无需外部存储器的最佳算法。 例如,1 2 0 0 3 2 0 2 变成 1 2 3 2 2
最佳答案
使用两个指针 - 一个用于读取,一个用于写入。
- 迭代数组上的读取器指针 - 如果元素为零,则只增加它。
- 如果元素不为零 - 写入它并增加两个指针。
关于algorithm - 从数组 O(n) 中删除所有零,没有额外的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10752534/