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

个人域名备案 网站名称发稿服务

个人域名备案 网站名称,发稿服务,怎么做解析视频网站,怎样做响应式网站这道题真的是中等题吗?我请问呢??我怎么觉得是困难题呢? 这道题的思路太难想了,想不出来,直接去看的这位大佬的题解,写得很清楚。 这道题可以将其转化为环形链表问题,可是为什么只要…


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

相关文章:

  • 阿里巴巴网页福州seo公司
  • 温州网站排名团队优化服务是什么意思
  • 最好的网站建设价格百度app下载安装官方免费下载
  • 万链网站做的怎么样?360站长
  • 学做衣服上什么网站好厦门seo外包公司
  • 球场 技术支持 东莞网站建设海外短视频跨境电商平台是真的吗
  • 苏州营销型网站制作公司百度企业官网
  • 四川宜宾网站建设百度舆情
  • 做软件的中介网站新闻发布的网站
  • 网站怎么优化自己免费西安网络科技有限公司
  • 建湖做网站价格广告制作
  • 做行程的网站推荐广告联盟接单平台
  • 湛江网站建设策划方案百度网盘官方
  • 网站建设文字教程视频俄罗斯引擎搜索
  • 新网站怎么做论坛推广网络营销品牌案例
  • 中国免费网站建设网站快速建站
  • 辽宁建筑工程网seo的优缺点
  • 最新备案域名查询专业排名优化工具
  • 网站制作经费预算表网上售卖平台有哪些
  • 做网站老板不发工资我拿尾款百度搜索引擎api
  • 做网站全屏尺寸是多少钱开封网络推广哪家好
  • 自己做网站可以揽业务吗淘宝推广费用一般多少
  • 大连网站建设公司怎么能在百度上做推广
  • o2o与网站建设论文项目平台
  • 免费做优化的网站关键词优化是什么意思?
  • 泗县住房和城乡建设局网站长春百度推广电话
  • 衡阳城乡建设部网站首页搜索引擎有哪些分类
  • 照片书哪个网站做的好推广品牌的方法
  • 美萍企业管理软件外贸seo优化公司
  • 网站用户体验肇庆网站建设制作