一个数组存储0到n,缺了一个数,怎么找出来?
如果是缺了两个数,又该怎么求出来?
是依次摆放的么 比如{0,1,2,3,4,5,6,7,..,n}这样
缺1个数,遍历求数组的和 - sum(0:N) = 缺的数值;
缺2个数,开辟新数组b长度为N+1,初始化所有元素为-1。遍历目标数组a,将每个元素存入新数组对应下标,如a[i]=5;则b[5]=5;最后b中数值仍为-1的索引号即缺失的数。
当然,这只是第一眼的思路,多想想可能会有更多办法
方法很棒!
借助一个哈希表,缺n个数都可以找出来。
把数组遍历,把缺的值放到另一个数组就好了。