【数组】重复的数字
数组中重复的数字
http://www.nowcoder.com/questionTerminal/623a5ac0ea5b4e5f95552655361ae0a8
1.考虑边界情况
数组是否为空
数组值是否在0-n-1范围内
2.限定条件:只要输出一个就可以,必须是第一个重复的数字
3.方法:
高级法
此大法利用了哈希的特性,但不需要额外的存储空间。 因此时间复杂度为O(n),不需要额外空间!
时间复杂度:O(n),因为每个位置上的数字最多只交换一次就可以放到正确位置上
空间复杂度:O(1),不需要再额外开辟空间哈希表+遍历
时间复杂度:O(n),每个位置上元素对应设置一次
空间复杂度:O(n),另外开辟一个大小为n的哈希序列暴力遍历