给一串整数 0,1,2,...,N,其中一个整数缺失。也就是说,如果是排序好放到大小为N的数组中,其实最大的整数应该是N+1。你的任务和算法是找出其中缺失的整数。如果是排序好的,怎么做?如果是无序的,又该如何做?
如果有序,可以用二分查找
如果无序,(1+n)n/2 - (a[0]+a[1]+...+a[n-1])
还可以用xor,(N个数异或) XOR (0到N+1的异或)
还可以把数字都交换到正确的位置
给一串整数 0,1,2,...,N,其中一个整数缺失。也就是说,如果是排序好放到大小为N的数组中,其实最大的整数应该是N+1。你的任务和算法是找出其中缺失的整数。如果是排序好的,怎么做?如果是无序的,又该如何做?
如果有序,可以用二分查找
如果无序,(1+n)n/2 - (a[0]+a[1]+...+a[n-1])
还可以用xor,(N个数异或) XOR (0到N+1的异或)
还可以把数字都交换到正确的位置