【发布时间】:2019-11-14 18:37:54
【问题描述】:
我已经考虑这个问题好几个小时了,到目前为止我的每一个想法都不好。
执行此操作的函数接收原始数组和需要填充的空数组。
如果某个对象没有这样的索引,则应该插入-1。
例如,对于数组:[4,6,8,1,7,10,15,9,11] 数组 [-1,0,1,-1,3,4,5,4, 7] 应该返回,因为例如如果我们查看原始数组中的 9,它的左起第一个较小的数字是 7,而 7 的索引是 4。因此,应该用 4 代替原始数组中的 9填写新的。
如果原始数组的大小为n,我的时间复杂度为O(n),空间复杂度也为O(n)。
您只能使用数组或列表来寻求帮助,而不能使用其他结构。
这是我迄今为止收集到的信息: 1. 对数组进行排序,隐式做的解决方案还不够好。
如果我们开始从左到右查看数组,一旦我们发现一个小于其他数字的数字,“其他”数字就可以被扔掉。我认为这是最重要的,但我无法使用它。
将原始数组划分为已排序的迷你数组不会有帮助。
【问题讨论】:
-
我不明白反对意见。我没有一个可以让我开始的想法,因此我寻求帮助,并且问题说得很清楚。
-
我不是投反对票的人,但一般来说,您需要展示您已经尝试过的内容,以便人们帮助您。
标签: arrays algorithm time-complexity