Find Miss Num
[TOC]
FindMissNum
Question
Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is missing from the array. For example, Given nums = [0, 1, 3] return 2. Note: Your algorithm should run in linear runtime complexity. Could you implement it using only constant extra space complexity?
Translate
给定一个包含从0,1,2,…, n,查找数组中缺失的那一个。例如,给定nums =[0,1,3]返回2。 注意:你的算法应该以线性运行时复杂度运行。你能仅仅使用恒定的额外空间复杂度来实现它吗
Answer
Answer one:
// 借用BitSet实现,不用了解BitSet原理,直接套白狼
public int missingNumberInByBitSet(int[] array) {
BitSet bitset = new BitSet(arrays.length);
for (int item : arrays) {
bitset.set(item);
}
return bitset.nextClearBit(0);
}Answer two:
Analysis
飞机票:BitSet
Last updated