1、题目描述
2、题目分析
将 [ 0 , n ]之间的整数放到 n 个元素的数组中去,必然缺失一个元素。在一次遍历中,将元素n[i] 放到 n[ n[i] ] ,位置。最后检查元素值和下标不相等的情况。
3、代码
1 int missingNumber(vector<int>& nums) { 2 if( nums.size() == 0 ) return 0; 3 4 for( int i= 0 ; i < nums.size() ; i++ ) 5 { 6 if( nums[i] != i && nums[i] < nums.size() ){ 7 swap( nums[i] , nums[ nums[i] ] ); 8 i--; 9 } 10 } 11 for( int i = 0; i < nums.size() ; i++ ) 12 { 13 if( nums[i] != i) 14 return i; 15 } 16 17 return nums.size() ; 18 }