LeetCode题解之Find All Numbers Disappeared in an Array

1、题目描述

2.问题分析

使的 A[i] = i+1 ,最后检查不满足这个条件的i+1 .即为缺失的值。

3.代码

 1 vector<int> findDisappearedNumbers(vector<int>& nums) {
 2         for( int i = 0; i < nums.size() ; ++i ){
 3             if( nums[i]  != nums[ nums[i] - 1 ] ){
 4                 swap( nums[i] , nums[nums[i] - 1] );
 5                 i--;
 6             } 
 7         }
 8         vector<int> result ;
 9         for( int i = 0; i < nums.size() ; i++){
10             if( nums[i] != i+1 )
11                 result.push_back( i+1 );
12         }
13         return result ;
14     }

 

posted @ 2018-07-14 19:56  山里的小勇子  阅读(93)  评论(0编辑  收藏  举报