当前位置: 首页 > news >正文

网站空间续费自己开平台怎么弄啊

网站空间续费,自己开平台怎么弄啊,网站开发文档价格,政府网站 模板这道题真的是中等题吗?我请问呢??我怎么觉得是困难题呢? 这道题的思路太难想了,想不出来,直接去看的这位大佬的题解,写得很清楚。 这道题可以将其转化为环形链表问题,可是为什么只要…


这道题真的是中等题吗?我请问呢??我怎么觉得是困难题呢?
这道题的思路太难想了,想不出来,直接去看的这位大佬的题解,写得很清楚。
这道题可以将其转化为环形链表问题,可是为什么只要存在重复元素,按照i -> nums[i]的映射方式一定能构成环呢?以下是我的思考:

  1. 题目保证只存在一个重复的数,其余数最多只出现一次,由于下标范围为[0, n],有n + 1个不同的下标,但是数组中最多只会有n个(一个数重复2次,其余元素各不相同,只出现一次),也可能少于n个,因此对于i -> nums[i]的映射,nums[i]的个数一定会小于i的个数,所以一定会出现哈希冲突,出现哈希冲突的就是我们要找的重复的数。
  2. 在上面的基础上,我们可以建立一个递推关系,我们根据下标i,得到映射nums[i],然后再以nums[i]为下标,得到映射nums[nums[i]](注意,1 <= nums[i] <= n,永远不会出现越界访问,因此得到的下标nums[nums[i]]只会有两种状态,一种是此前尚未访问过下标nums[nums[i]],此次为第一次访问;另一种就是此前已经访问过下标nums[nums[i]]),经过不断地迭代递推,由于一定存在哈希冲突,在某一次得到映射nums[nums[i]]时,此时下标nums[nums[i]]曾经被访问过此时就存在环了。
  3. 在链表中,我们通过快慢指针来做,慢指针每次向后移动一位,慢指针每次向后移动两位,在本题中,慢指针每次映射一次,而快指针每次映射两次,这个构造思路特别巧妙,在构造出快慢指针的移动操作后,我们就可以按照常规的142.环形链表Ⅱ来做了,具体的思路可以看下我这篇博客。
    下面是代码
class Solution {
public:int findDuplicate(vector<int>& nums) {int slow = 0; //慢指针int fast = 0; //快指针slow = nums[slow];fast = nums[nums[fast]];//一定存在环,先让慢指针停留在特定位置while(slow != fast){slow = nums[slow];fast = nums[nums[fast]];}//再定义一个慢指针int slow1 = 0;while(slow1 != slow){slow1 = nums[slow1];slow = nums[slow];}return slow;}
};

这道题是力扣hot100的最后一道,刷完这道题还给了个勋章,唉,终于坚持下来了。

http://www.dt0577.cn/news/8278.html

相关文章:

  • 百度地图嵌入公司网站成都排名推广
  • 网站开发需求大吗网络营销的十种方法
  • 中国站长工具网站维护公司
  • php软件网站建设抖音seo怎么做的
  • 做类似于58同城的网站全网营销式网站
  • 使用h5做的学习网站源码自己怎么制作网页
  • 万网可以花钱做网站吗如何优化标题关键词
  • 网站 制作价格表个人能接广告联盟吗
  • 福州专业网站建设价格百度首页入口
  • 人民日报客户端下载安装外包优化网站
  • 英文网站seo如何做产品市场调研怎么做
  • 为网站做seo需要什么手游推广渠道平台
  • wordpress建站速度提升百度免费打开
  • 新闻类网站怎么做百度推广深圳seo公司排名
  • laravel微信公众号开发seo推广优化多少钱
  • 腾讯云网站建设怎么看关键词的搜索量
  • 协助别人做网站犯法么app下载推广
  • 网络营销是什么营销苏州seo网络推广
  • 网站规划的原则是什么关键词排名优化流程
  • 17网站一起做网店广百度竞价价格
  • 网站建设规划大纲推广引流渠道有哪些
  • 上海企业网站建设seo攻略
  • jsp ajax网站开发典型实例营销网站建设培训学校
  • 大同网站建设哪里好网站是怎么建立起来的
  • 网站建设金网科技360优化大师旧版本
  • 对我国政府门户网站建设的思考大学生网页制作成品模板
  • 临沂专门做网站的电脑优化大师下载安装
  • 加盟培训网站建设百度客服号码
  • 山西省建设资格注册中心网站推广普通话奋进新征程演讲稿
  • 质量好网站建设商家职业培训学校加盟