Fre*_*Lee 4 arrays sorting algorithm space-complexity swift2
我是一个“空间复杂性”新手,遇到了一个问题。
假设我有一个任意整数的数组:
[1,0,4,2,1,0,5]
我如何重新排序该数组以使所有零都在一端:
[1,4,2,1,5,0,0]
...并计算非零整数的计数(在本例中:5)?
...在O(n)运行时具有O(1)空间复杂度?
我不擅长这个。
我的背景更多是环境工程而不是计算机科学,所以我通常会进行抽象思考。
我想我可以进行排序,然后计算非零整数。
然后我想当我重新排列数组时,我只能做一个每个元素的复制。
然后我想到了类似冒泡排序的方法,交换相邻元素,直到到达零的末尾。
我认为我可以通过移位数组成员的地址来节省“空间复杂度”,因为数组点指向数组,并带有其成员的偏移量。
我要么以牺牲空间复杂度为代价来增强运行时间,要么反之亦然。
解决办法是什么?
| 归档时间: |
|
| 查看次数: |
394 次 |
| 最近记录: |