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

seo怎么优化网站广州网站设计费用

seo怎么优化网站,广州网站设计费用,如何网站点击率,百度问一问这道题真的是中等题吗?我请问呢??我怎么觉得是困难题呢? 这道题的思路太难想了,想不出来,直接去看的这位大佬的题解,写得很清楚。 这道题可以将其转化为环形链表问题,可是为什么只要…


这道题真的是中等题吗?我请问呢??我怎么觉得是困难题呢?
这道题的思路太难想了,想不出来,直接去看的这位大佬的题解,写得很清楚。
这道题可以将其转化为环形链表问题,可是为什么只要存在重复元素,按照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.yayakq.cn/news/529162/

相关文章:

  • 幕墙配件在那个网站做推广好ssl外贸网站
  • 微网站开发方案网站app服务器租用
  • 上海专业做网站的公司河北建设招标网
  • 武邑县建设局网站自己怎么样做网站
  • 网站可以做多少个网页部队内网网站建设方案
  • 网站怎么添加链接代码青岛栈桥门票多少钱
  • 茂名公司网站建设常州网约车哪个平台最好
  • 服装门户系统网站免费虚拟主机空间互联
  • 网站外链怎么做设计坞官网首页
  • 网络免费推广网站网站的布局方式有哪些方面
  • 上饶哪里可以学网站建设东莞石排网站建设
  • 德清建设银行网站自己公司网站自己能做吗
  • 施秉网站建设手机网站seo教程
  • 网站可以跳转备案吗河北省建设厅报名网站
  • 对网站开发的理解500字八百客crm系统
  • 建设网站的总结用ps做糖果店网站模板
  • 官方网站的推广策划怎么做内容营销的步骤
  • 服务器如何搭建php网站外贸网站制作价格表
  • 地图网站建设做网站的集团
  • 网站品质传奇世界网页版单机
  • 重庆模板建站软件哈尔滨公司做网站
  • 怎么建设银行网站注册做推送网站
  • 台州市网站制作北京做网站推广一个月多少钱
  • 网站开发工程师月薪平均wordpress登陆页文件夹
  • 可以在网上接网站做的网址网站维护一般需要多久
  • 怎么轻松搭建自己的网站wordpress更换域
  • 佛山南海区建设局网站程序开发接单
  • 泗洪做网站百度浏览器下载安装
  • 做养生网站需要证件吗网络推广和网站推广
  • 西安跨境电商平台网站北京新冠确诊最新数据