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

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;
    }
};

分析:

不太好理解。

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

时间: 2024-10-10 00:09:51

leecode第二百八十七题(寻找重复数)的相关文章

leecode第二百三十题(二叉搜索树中第K小的元素)

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: int k_time; int temp; void kth_min(TreeNode* root) {

美学心得(第一百八十七集) 罗国正

美学心得(第一百八十七集) 罗国正 (2018年4月) 2693.这四种思维和生活的模式,从古至今都在深刻地影响着世界,就是:超自然的宗教模式:科学的模式:人文主义的模式:自给自足随遇而活的模式.文艺复兴虽然是多因素.多模式存在其中的复杂运动,从总的态势来判断,最令人注目的是人文主义.其实,各种模式都有明显的优点和缺点,处理得好,它们之间都有互相促进的关系,处理不好会有互相抵消的作用.感悟主义应在以人文主义为基础上,感悟和总结经验,以人类命运共同体的理念指导,进一步实现类本质的觉醒,以审美的状态

第三百八十七节,Django+Xadmin打造上线标准的在线教育平台—网站上传资源的配置与显示

第三百八十七节,Django+Xadmin打造上线标准的在线教育平台-网站上传资源的配置与显示 首先了解一下static静态文件与上传资源的区别,static静态文件里面一般防止的我们网站样式的文件,包括ccs,js,网站样式图片 上传资源是用户操作上传的图片等资源 上传资源的配置 1,首先在项目里创建一个名称叫media的文件夹专门保存用户上传 2,settings.py文件配置上传资源的路径 # 上传资源路径,如果图片,上传文件等 MEDIA_URL = '/media/' # 设置上传资源

leecode第二百三十八题(除自身以外数组的乘积)

class Solution { public: vector<int> productExceptSelf(vector<int>& nums) { int len=nums.size(); vector<int> res; for(int i=0,temp=1;i<len;i++)//把前面的乘起来,暂存起来 { res.push_back(temp); temp=temp*nums[i]; } for(int i=len-1,temp=1;i>

leecode第二百二十六题(翻转二叉树)

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: void core_code(TreeNode* root) { TreeNode* node_temp=

第二百六十七节,Tornado框架-分页封装模块

Tornado框架-分页封装模块 框架引擎 #!/usr/bin/env python #coding:utf-8 import tornado.ioloop import tornado.web #导入tornado模块下的web文件 from controllers import index settings = { #html文件归类配置,设置一个字典 "template_path":"views", #键为template_path固定的,值为要存放HTML

leecode第一百二十一题(买卖股票的最佳时机II)

class Solution { public: int maxProfit(vector<int>& prices) { int len=prices.size(); if(len<=0) return 0; int sta=0,lirun=0; while(sta<len-1) { while(sta<len-2 && prices[sta]>prices[sta+1])//找到当前第一个最小值 sta++; if(sta==len-2 &a

第二百八十八节,MySQL数据库-索引

MySQL数据库-索引 索引,是数据库中专门用于帮助用户快速查询数据的一种数据结构.类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获取即可. 如果没有创建索引查找数据时,是全表扫描的,也就是向查字典一样没有目录,靠一页一页的翻到目标数据位置,这样如果数据量大会相当耗时, 索引就是快速帮助用户找到目标数据,节省时间 索引简介 索引是以B+tree方式的树形结构存放数据的 详情,可以网上搜索一下B+tree MySQL中常见索引有: 普通索引 唯一索引 主键索引 组合索

第二百八十一、二、三天 how can I 坚持

又是三天,真搞不懂人到底是是什么,到底想要啥,好压抑. 周五,李东勇他们来北京开年会,晚上下班,去了趟团结湖公园,好冷,快冻死了,等着他们来了,见面,感觉好亲切,晚上一块吃了个火锅,玩的很happy. 周六,他们开年会,还表演节目,跟着他们乱腾了一天,年会完了还去网吧玩了两个小时,总之,在一块就是好.早上吃早饭竟然混了进去..表演了个黑白视觉, 感觉挺好的,可以没有中奖. 周日,今天,早上起来吃了个早饭,就送他们走了,感觉也没什么可玩的.他们执意要走就走吧.回到住的这想送个觉,也一直没睡成,下午