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

网站管理助手建站美区下载的app怎么更新

网站管理助手建站,美区下载的app怎么更新,河南城市建设招标类网站,上海网页制作与网站设计链表OJ题: 环形链表: 使用快慢指针的方法:当慢指针和快指针相遇的时候证明链表是有环的。 证明:假设环的长度为C,入环前的长度为L。 假设fast在环内走了n圈。 当slow抵达第一个入环的节点时,fast和slow的…

链表OJ题:

环形链表:

使用快慢指针的方法:当慢指针和快指针相遇的时候证明链表是有环的。

证明:假设环的长度为C,入环前的长度为L。

假设fast在环内走了n圈。

当slow抵达第一个入环的节点时,fast和slow的距离为2L-n*c-L = L-n*C。

由于fast每次走两步,slow每次走一步,所以fast和slow之间的距离每次缩小一个单位。

当slow距离第一个入环的节点的距离为(n+1)*C-L时,fast和slow会相遇。

环形链表2:

当fast指针和slow指针相遇时

假设相遇位置为meet,相遇位置和入环节点的距离为L-n*C,如果meet要走L距离的话,那么就要走L-n*C(这是距离入环节点的距离) + n*C(这是绕环走一圈)= L。也就是说,当meet走L距离,肯定会停在入环节点处

所以我们可以定义一个cur指针,从头开始走,当cur指针和meet指针相遇的时候,也就是meet走了L距离的时候,也就是停在了入环节点的位置。

我们可以进一步假设:

前面的快慢指针方法是快指针走一步而慢指针走两步,那么要是快指针走三步而慢指针走一步呢?快慢指针判断是否有环还有效吗?

如果是fast走三步而slow走两步,第一个入环节点到fast的距离为(3L-L-n*C)也就是2L-n*C,fast到第一个入环节点的距离为(n+1)*C-2L。

而fast和slow的距离每次都会缩小两格,所以当(n+1)*C-2L 的值为偶数的时候,fast和slow可以直接相遇,而当(n+1)*C-2L为奇数的时候,fast和slow不会直接相遇,而是错过一格。

那时fast和slow的距离就变成了C-1.

如果C-1还是奇数的话,那下次fast和slow的距离也依旧是C-1。

但是这种可能存在吗?

当C-1是奇数时,说明C是偶数,前面说假设(n+1)*C-2L为奇数,当C是偶数时,(n+1)*C - 2L就不可能是奇数。

也就是说,要么(n+1)*C-2L为奇数,而C不为偶数,还是会相遇。

要么(n+1)*C-2L为偶数,直接相遇。

所以fast走三步slow走一步的这种设计,同样可以通过相遇来判断是否是带环链表。

环形链表:

 typedef struct ListNode ListNode;
bool hasCycle(struct ListNode *head) {ListNode* fast = head;ListNode* slow = head;while(fast != NULL && fast->next != NULL){fast = fast->next->next;slow = slow->next;if(fast == slow){return true;}}return false;
}

环形链表2:

typedef struct ListNode ListNode;ListNode* hascycle(ListNode* head){ListNode* fast = head;ListNode* slow = head;while(fast != NULL && fast->next != NULL){fast = fast->next->next;slow = slow->next;if(fast == slow)return fast;}return NULL;}
struct ListNode *detectCycle(struct ListNode *head) {ListNode* meet = hascycle(head);if(meet == NULL){return NULL;}ListNode * cur = head;while(cur != meet){cur = cur->next;meet = meet->next;}return cur;
}

http://www.dtcms.com/wzjs/495752.html

相关文章:

  • 昆明网站建设搜q479185700产品线上营销有哪些方式
  • 奉贤庄行网站建设搜索引擎营销名词解释
  • 自己做网站服务器可以吗宁波seo网络推广多少钱
  • 网站制造公司网络营销与直播电商
  • 青岛北京网站建设公司哪家好超级外链吧外链代发
  • 做电影网站什么系统好永久免费google搜索引擎
  • 购物网站建设成本直通车关键词怎么优化
  • 阿里云做视频网站可以吗网络营销的好处
  • 深圳网站建设门户推广引流吸引人的文案
  • 自己做的网站怎么放到外网上友情链接是什么
  • 机箱做的网站主机怎么查看ftp聊城seo整站优化报价
  • 道滘仿做网站竞价推广代运营公司
  • wordpress 修改admin关键词优化排名软件s
  • 连平网站建设一键建站
  • 备案个人网站百度投诉中心在线申诉
  • 临淄网站制作首选专家晋城网站seo
  • 巨野网站建设香港域名注册网站
  • 织梦动漫网站模板搜索引擎排名查询工具
  • 做网站送企业邮箱海外推广解决方案
  • 如何分析网站设计大连头条热点新闻
  • 个人网店和网站的区别seo发展前景怎么样啊
  • 做网站实训报告总结热搜榜上能否吃自热火锅
  • 住宅和城乡建设部网站百度推广官网
  • 网站平台开发报价表怎么做seo搜索引擎优化岗位要求
  • 产品网站推广方案百度手机助手官网下载
  • 泉州做网站需要多少钱国内做网站比较好的公司
  • 猪八戒网做动漫弹幕网站seo综合查询工具可以查看哪些数据
  • 成都h5网站建设接外包项目的网站
  • 免费汽车租赁网站模板公司网站推广方法
  • 长沙河东做网站怎么seo网站关键词优化