首页 > 其他 > 详细

LeetCode题解之Find All Duplicates in an Array

时间:2018-07-14 20:21:47      阅读:139      评论:0      收藏:0      [点我收藏+]

1、题目描述

技术分享图片

2、问题分析

将数组中的元素 A[i] 放到 A[ A[i] - 1] 的位置。然后遍历一边数组,如果不满足 A[i] == i+1,则将A[i]添加到 结果中。

3、代码

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

 

LeetCode题解之Find All Duplicates in an Array

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

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