具有多个缺失数字的未排序数组

问题描述 投票:1回答:3

给出一个大小为N的数组,其中包含多个缺失数字,这些数字等于-1,我需要找到缺失数字并打印更新后的数组,该数组中的所有数字都从[1-n]开始,不允许对该数组进行排序] >

我试图先在纸上解决它,但不能解决

示例:Array [2,4,6,5,-1,8,-1]

结果:[2,4,6,5,3,8,7]或[2,4,6,5,3,8,7]两者都不错,而且应该是更复杂的时间]

即使是提示也将有助于实现对遗漏号码的发现

给出一个大小为N的数组,其中包含多个缺失数字,这些数字等于-1,我需要找到缺失数字并打印更新的数组,该数组中的所有数字都从[1-n]开始,不允许排序...

java
3个回答
0
投票

用数字1-n填充一个设置的位:

BitSet bits = new BitSet(n + 1);
bits.set(1, n + 1, true);

0
投票

嗯,这是我的尝试。它必须做更多我最初认为的簿记工作。


-1
投票

O( c * N )仍然是线性时间,当c为常数时。这意味着只要传递次数恒定,“线性时间”要求仍允许您在阵列上进行多次传递。 (只要通过次数不是N的函数。)

© www.soinside.com 2019 - 2024. All rights reserved.