LeetCode题解之Missing Number

Posted 山里的小勇子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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     }

 

以上是关于LeetCode题解之Missing Number的主要内容,如果未能解决你的问题,请参考以下文章

leetcode笔记:Missing Number

LeetCode题解之Valid Triangle Number

LeetCode OJ 268Missing Number

LeetCode OJ 268Missing Number

LeetCode题解-----First Missing Positive

LeetCode题解之Number of 1 Bits