0

假设我想从字符串中删除重复项。我决定使用一个长度为 256 的布尔数组来存储特定字符是否已经出现。我可以遍历字符串,并可以在这个辅助布尔数组的帮助下删除所有重复项。

我的问题是“这个算法是就地的吗?”

我认为它正在使用恒定数量的空间,它不会随着输入的大小而改变,它应该就地。如果我错了,请纠正。

4

1 回答 1

5

就地算法意味着您正在将输入数据转换为输出数据。运行算法后,您将无法取回输入数据。

异地算法意味着您保持输入数据完整并为输出数据使用单独的空间。

我的问题是“这个算法是就地的吗?”

只要没有用于存储输出数据的单独数组,该算法就到位。在输入数据中,去除重复后,剩余元素可以为空/null。

于 2013-11-16T05:29:24.257 回答