码迷,mamicode.com
首页 > 其他好文 > 详细

leecode第二百八十七题(寻找重复数)

时间:2019-08-02 13:25:48      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:ica   检测   dex   code   存在   一个   index   cto   重复数   

技术图片

class Solution {
public:
    int findDuplicate(vector<int>& nums) {
        int slow_index= nums[0];
        int quick_index= nums[0];
        do
        {
            slow_index=nums[slow_index];
            quick_index=nums[nums[quick_index]];
        }while(slow_index!=quick_index);//可以理解成一个状态向量机,状态转移过程中一定会有环存在
        
        slow_index = nums[0];
        while (slow_index != quick_index) {//检测环的入口,二者会在环入口处相遇
            slow_index = nums[slow_index];
            quick_index = nums[quick_index];
        }
        
        return slow_index;
    }
};

分析:

不太好理解。

leecode第二百八十七题(寻找重复数)

标签:ica   检测   dex   code   存在   一个   index   cto   重复数   

原文地址:https://www.cnblogs.com/CJT-blog/p/11287865.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!