找出丢失的数字】  

  有一组数字,从1到n,从中减少了3个数,顺序也被打乱,放在一个n-3的数组里。请找出丢失的数字。

解法:快速排序改造。

时间复杂度:O(N)。

具体解释:

  1)题目特点数字为1-N,所以在排序过程中,每次中位数取当前范围的n/2,则必然可以将数组拆分成等长的2份。

  2)当一次中位数分段后,看哪边的实际数小于预期数,符合这一条件的段继续查找,和预期相等的抛弃。

  3)在过程中,如果发现取的中位数N/2不存在,则此N/2就是其中一个丢失的数。

 

解法二:

  扫两遍,第一遍,从头到尾,依次将a[i]转换到对应位置上。

                     第二遍,找出对应位置为null的的index,这个index就是缺失的值。

相关文章:

  • 2022-12-23
  • 2022-01-15
  • 2021-06-10
  • 2022-01-01
  • 2021-06-15
  • 2021-09-14
  • 2022-12-23
猜你喜欢
  • 2021-08-08
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-15
  • 2021-10-23
  • 2022-12-23
相关资源
相似解决方案