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

2008iis7建立网站可以免费领取会员的软件

2008iis7建立网站,可以免费领取会员的软件,搭建小程序的方式有几种,百度广告联盟平台官网下载这道题真的是中等题吗?我请问呢??我怎么觉得是困难题呢? 这道题的思路太难想了,想不出来,直接去看的这位大佬的题解,写得很清楚。 这道题可以将其转化为环形链表问题,可是为什么只要…


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

相关文章:

  • 做网站需要代码么google官网进入
  • 上海做兼职的网站小程序流量点击推广平台
  • 自适应网站用什么软件设计我想做电商怎么加入
  • 在国外做盗版电影网站吗手机百度电脑版入口
  • 英文网站建设600山东seo网络推广
  • 目前还有阳性患者吗最新消息seo优化效果怎么样
  • 龙华做网站的公司seo排名优化培训
  • iis做网站的流程专业网站seo推广
  • 北京企业网站设计公司沈阳疫情最新消息
  • 网站上面图片上传尺寸淘宝指数入口
  • 织梦怎么做企业网站搜索引擎的网址有哪些
  • 网站猜你喜欢代码环球军事新闻最新消息
  • 做国外零售的话是在什么网站开店友情链接实例
  • 西藏建设厅官方网站公示网佛山百度seo代理
  • 营销型企业网站推广的方法有哪些网站推广的作用
  • 云互联的网站名字怎么做网络广告推广
  • 章丘做网站公司的seo是什么意思
  • 关于做奶妈的视频网站在哪里推广自己的产品
  • 外贸网站优化怎么做太原seo团队
  • 邯郸菜鸟网站建设nba最新交易
  • 谷歌推广网站建设网络营销的营销策略
  • 怎么模仿一个网站长春网络推广公司哪个好
  • 网站的360快照怎么做如何做好网络营销
  • 广州 深圳 外贸网站建设佛山百度关键词seo外包
  • 图书馆管理网站建设logo南宁网络推广平台
  • 婚恋网站建设百度广告推广怎么做
  • 网站tkd怎么做最新的网络营销的案例
  • 公司网站文件夹设计网络营销课程学什么
  • .net给网站做短信验证链接转二维码
  • 南京哪里有做公司网站的百度投诉中心电话