首页 > 其他 > 详细

LeetCode题解之Missing Number

时间:2018-07-10 10:45:02      阅读:97      评论:0      收藏:0      [点我收藏+]

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

原文:https://www.cnblogs.com/wangxiaoyong/p/9287225.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!