我得到了一个字符串数组,其中包含无序的连续数字(范围从 0 到 n)
例如 - [7a, 1b, 2c, 0d, 6e, 5f, 3g, 4h]
我想按顺序将数字写入文件
在例子之后:
0d
1b
2c
3g
4h
5f
6e
7a
我正试图找到一种既快速又不占用太多空间的方法
我找到了一种可以在 O(n) 空间复杂度和 O(n) 性能下做到这一点的方法
(我创建了一个包含 n 个单元格的数组,并将每个数字插入到他的单元格编号中)
arr[单元格] = 单元格
但我正在寻找更好的方法,如果您能提供帮助,我将不胜感激。
谢谢
最佳答案
因为数字是连续的,所以根本不需要数组。
您只需要找到数组中的最小 和最大 元素。一旦知道了 min
和 max
,就可以将范围内的数字写入文件。这仍然是 O(n) 时间,但没有额外的空间复杂度。如果 min
始终为 0
,那么您只需要数组中的最大数字即可。
关于c - 将排序后的未排序的连续字符串数组写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30874831/