标签:顺序 bsp 个数 ... 空间复杂度 nbsp nlog 复杂度 时间复杂度
有0-n这n+1个数,但是其中丢了一个数,请问如何找出丢了哪个数?
1)用1+2+...+n减去当前输入数据的总和。时间复杂度:O(n) 空间复杂度:O(1) 【容易溢出】
2)用12...*n除以当前输入数据的总积。时间复杂度:O(n) 空间复杂度:O(1) 【容易溢出】
3)用1^2^...^n的结果在逐个异或当前输入数据。时间复杂度:O(n) 空间复杂度:O(1)
4)对输入数据排序,然后从头到尾遍历一次。时间复杂度O(nlogn) 空间复杂度O(1)
5) 对输入数据进行Hash,然后从头到尾遍历一次。时间复杂度O(n) 空间复杂度O(n)
【算法】—— 1到n中减少了一个数,顺序被打乱,找出缺失的数
标签:顺序 bsp 个数 ... 空间复杂度 nbsp nlog 复杂度 时间复杂度
原文地址:https://www.cnblogs.com/bopo/p/9255643.html