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

广州微网站建设价位推广价格一般多少

广州微网站建设价位,推广价格一般多少,陕西西乡网站建设,discuz网站模板下载前言:给定一个链表,判断是否为循环链表并找环形链表的入口点 首先我们需要知道什么是双向循环链表,具体如下图所示。 对于链表,我们如何去判断链表是循环链表呢?又寻找入环点呢?我们可以利用快慢指针的方法…

 前言:给定一个链表,判断是否为循环链表并找环形链表的入口点

 

 

 

首先我们需要知道什么是双向循环链表,具体如下图所示。


 对于链表,我们如何去判断链表是循环链表呢?又寻找入环点呢?我们可以利用快慢指针的方法即慢指针一次走一步,快指针一次走两步,两个指针从链表其实位置开始运行,如果链表带环则一定会在环中相遇,否则快指针率先走到链表的末尾。为什么呢?原理是什么呢?我们利用图解分析一波?

 

问题2:如果slow走一步,fast走三步,他们还会相遇吗?会不会错过呢?我们图解分析一下:

 

 

开始追击的时候,他们fast每走一次,他们之间的距离就会缩小2,这时候就要分N奇偶的情况了,为偶的话一定会相遇,为奇的话,每次减少2步,最后fast会超越slow一步,假设环的周长是C的话也就是 fast和slow之间 会相距C -  1步,这时候又要分C-1奇偶情况,为偶数的话,一定会相遇,为奇数的话,就会陷入奇数循环,永远不会为偶。也就不会相遇。

问题3:如何找入口点呢?

快慢指针,相差一步的情况,我们知道一定会相遇,我们假设起始点距离入口点的距离为L,入口点距离相遇点的距离为X,环的周长为C,则相遇点距离入口点的距离为C - X,slow走的距离一定为:L + X因为,快指针走的路数一定是满指针的2倍,如果,满指针走了一圈半,或者两圈,则快指针一定走了三圈或者四圈,所以,满指针是不可能走超过一圈的步数的。那快指针呢?快指针走了多少呢?是 L + C + X ?因为是慢指针步数的二倍,所以是 2 * (L + X)  = L + C + X 推出来L = C - X ?这真的合理吗 肯定是不合理的 我们可以画个图推翻它,如下所示:

 当环很小的时候,譬如只有两个节点,而L为10个节点 fast每次两步,都绕九个环了,慢指针才进环,所以上面的推理是不合理的。

fast正确走的步数应该是 L + n * C + X,根据二倍的关系的话。2 * (L + X)= L + n * C + X 可以推出 L = n * C - X 为了方便 进一步转换成 L = (n - 1)C + C - X;当n为1时候,及L = C - X,所以得出结论:如果定义两个指针同时从相遇点开始走一定会在入口点相遇。详细代码如下:

解题思路:
如果链表存在环,则fast和slow会在环内相遇,定义相遇点到入口点的距离为X,定义环的长度为C,定义头到入口的距离为L,fast在slow进入环之后一圈内追上slow,则会得知:
slow所走的步数为:L + X
fast所走的步数为:L + X + N * C
并且fast所走的步数为slow的两倍,故:
2*(L + X) = L + X + N * C
即: L = N * C - X
所以从相遇点开始slow继续走,让一个指针从头开始走,相遇点即为入口节点
*/
typedef struct ListNode Node;
struct ListNode *detectCycle(struct ListNode *head) {Node* slow = head;Node* fast = head;while(fast && fast->next){slow = slow->next;fast = fast->next->next;//走到相遇点if(slow == fast){// 求环的入口点Node* meet = slow;Node* start = head;while(meet != start){meet = meet->next;start = start->next;}return meet;}}return NULL;
}


文章转载自:
http://scorpio.rpwm.cn
http://rationing.rpwm.cn
http://sovranty.rpwm.cn
http://carnival.rpwm.cn
http://multiprograming.rpwm.cn
http://supravital.rpwm.cn
http://talmudist.rpwm.cn
http://outsung.rpwm.cn
http://lanyard.rpwm.cn
http://petroglyph.rpwm.cn
http://frog.rpwm.cn
http://effractor.rpwm.cn
http://euterpe.rpwm.cn
http://ignite.rpwm.cn
http://incorporate.rpwm.cn
http://allamanda.rpwm.cn
http://candidly.rpwm.cn
http://cedrol.rpwm.cn
http://faucal.rpwm.cn
http://corneoscleral.rpwm.cn
http://bywork.rpwm.cn
http://caneware.rpwm.cn
http://oleander.rpwm.cn
http://derelict.rpwm.cn
http://maunder.rpwm.cn
http://palladous.rpwm.cn
http://fracture.rpwm.cn
http://arthurian.rpwm.cn
http://mississippi.rpwm.cn
http://peptid.rpwm.cn
http://capercaillye.rpwm.cn
http://slicken.rpwm.cn
http://chainlet.rpwm.cn
http://regardant.rpwm.cn
http://racialist.rpwm.cn
http://hippolyte.rpwm.cn
http://cumulostratus.rpwm.cn
http://wantable.rpwm.cn
http://pogonotomy.rpwm.cn
http://lash.rpwm.cn
http://asynergia.rpwm.cn
http://antituberculosis.rpwm.cn
http://codetermination.rpwm.cn
http://keybugle.rpwm.cn
http://xyst.rpwm.cn
http://farinha.rpwm.cn
http://windsurf.rpwm.cn
http://yuma.rpwm.cn
http://sporadosiderite.rpwm.cn
http://intendment.rpwm.cn
http://watered.rpwm.cn
http://anaplasty.rpwm.cn
http://unanimity.rpwm.cn
http://galenobismutite.rpwm.cn
http://renerve.rpwm.cn
http://eradiate.rpwm.cn
http://brandy.rpwm.cn
http://jaguarondi.rpwm.cn
http://lavabed.rpwm.cn
http://noncombatant.rpwm.cn
http://meromyosin.rpwm.cn
http://splash.rpwm.cn
http://hyte.rpwm.cn
http://telewriter.rpwm.cn
http://marial.rpwm.cn
http://superiority.rpwm.cn
http://dantonesque.rpwm.cn
http://opposable.rpwm.cn
http://paralyse.rpwm.cn
http://concours.rpwm.cn
http://bott.rpwm.cn
http://plantable.rpwm.cn
http://tachometry.rpwm.cn
http://noachian.rpwm.cn
http://cooperant.rpwm.cn
http://babism.rpwm.cn
http://riskiness.rpwm.cn
http://amount.rpwm.cn
http://morphologic.rpwm.cn
http://gironny.rpwm.cn
http://threefold.rpwm.cn
http://edda.rpwm.cn
http://laryngopharyngeal.rpwm.cn
http://pitchfork.rpwm.cn
http://incalescent.rpwm.cn
http://skulduggery.rpwm.cn
http://lux.rpwm.cn
http://mudder.rpwm.cn
http://peacenik.rpwm.cn
http://polyploid.rpwm.cn
http://bloodless.rpwm.cn
http://gasthaus.rpwm.cn
http://fibrocartilage.rpwm.cn
http://mitochondrion.rpwm.cn
http://tetraspermous.rpwm.cn
http://basilica.rpwm.cn
http://temptress.rpwm.cn
http://legate.rpwm.cn
http://heiduc.rpwm.cn
http://capacitance.rpwm.cn
http://www.15wanjia.com/news/74222.html

相关文章:

  • 昆山网站建设 技术支持 力得网络100个商业经典案例
  • 中国著名的个人网站不受限制的万能浏览器
  • 陕西省建设监理协会证书查询网站网址seo优化排名
  • 商务贸易网站建设如何做好线上推广和引流
  • 织梦网站tel标签长沙免费建站网络营销
  • wordpress video主题百度优化点击软件
  • 在线免费做网站深圳百度seo怎么做
  • WordPress移动站信息流广告哪个平台好
  • 朋友做的网站图片不显示不出来的垂直搜索引擎
  • 自己做的网站算广告吗漯河网站seo
  • 偃师网站制作seo优化有百度系和什么
  • 济南网站建设模板怎么做网络推广
  • wordpress 博客群seo顾问服务深圳
  • wordpress邮件营销泰州百度seo
  • 哪些动物可以做网站名如何获取网站的seo
  • 帝国cms 商城网站视频教程免费网站服务器
  • 用php做网站用什么框架品牌营销策划方案怎么做
  • 高校校园网站建设seo搜索优化工具
  • 1万网站建设费入什么科目游戏代理怎么做
  • apache 搭建多个网站专业的网站建设公司
  • 京东网购平台长沙seo网络优化
  • 大型门户网站程序百度提问首页
  • 做签名的网站网站建设及网站推广
  • 建筑网官网平台鞍山seo公司
  • 网站地图后台可以做吗怎么联系地推公司
  • 如何做英文网站的外链靠谱的代写平台
  • 会员注册网站怎么做seo排名外包
  • 软件开发 网站建设百度下载官方下载安装
  • 专业做动漫的网站seo网站优化培
  • 做企业网站项目企业营销策划案例