LeetCode题解之Missing Number

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     }
pp
原文地址:https://www.cnblogs.com/wangxiaoyong/p/9287225.html