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

几年做啥网站能致富培训心得体会总结简短

几年做啥网站能致富,培训心得体会总结简短,app是干什么用的,深圳做自适应网站制作个人主页:一代… 个人专栏:数据结构 在面试中我们经常会遇到有关链表的相关题目,面试官通常会对题目给出拓展 下面我就两个leetcode上的一个双指针的题目为例,并对其进行拓展 题目链接:环形链表 题目描述&#xf…

在这里插入图片描述

个人主页:一代…
个人专栏:数据结构
在这里插入图片描述

在面试中我们经常会遇到有关链表的相关题目,面试官通常会对题目给出拓展

下面我就两个leetcode上的一个双指针的题目为例,并对其进行拓展

题目链接:环形链表

题目描述:在这里插入图片描述
示例:在这里插入图片描述

思路:运用快慢指针,快指针一次走两步,慢指针一次走一步,若链表带环,则快慢指针一定会在环中相遇,若不带环,则快指针就会走到末尾(NULL或最后一个节点)

代码示例:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/
typedef struct ListNode  ListNode;
bool hasCycle(struct ListNode *head) {ListNode* slow=head;ListNode* fast=head;while(fast&&fast->next){fast=fast->next->next;slow=slow->next;if(fast==slow)return true;}return false;
}

|

这里while循环中的fast&&fast->next不能调换顺序,因为当链表不带环,节点个数为偶数时,快指针会走到链表为空的位置,当fast->next在前,对空指针进行解引用,就会造成内存访问错误
(注:fast&&fast->next中如果前一个为假,那么整个表达式为假,就不会对下一个表达式进行计算)

拓展面试题目

在带环链表中,当slow每次走一步,fast每次走三步,那么slow会相遇吗?

slow每次走一步,fast每次走三步,那么当slow进环时,fast和slow相距的距离为N,那么没走一次,相距的距离就会减小2.
当链表长度为C时
在这里插入图片描述

于是就分为下面两种情况
在这里插入图片描述

总结:
1 当N为偶数时,slow和fast在第一轮就会相遇
2 当N为奇数时
C-1为偶数时就会在第二轮相遇
C-1为奇数时一定不会相遇(注:这种结论时错误的,这里下面会讲到)

为什么N是偶数,C时奇数这个条件一定不会成立呢?

假设:链表环之前长度为L,slow和fast相距的距离为N,slow进环时,fast已经在环中转了X圈
在这里插入图片描述
那么就会得出以下几个数学算式:
slow进环时,fast在环中转了X圈,于是fast走过的长度就为L+XC+C-N=L+(X+1)C-N
slow走过的长度为L
又因为fast走过的长度为slow走过的长度的三倍,所以3L=L+(X+1)C-N
得出2L=(X+1)C-N
2L一定为偶数,当C为偶数,N为奇数时,由算式可得偶数=偶数-奇数,这显然时不出立的,于是就可得出把上面结论中当N为奇数,C-1为奇数时一定不可以追上的结论推翻,于是可证明当在环形链表中fast走3步,slow走1步时,fast和slow一定可以相遇,永远追不上的条件不成立

结论:
1 当N为偶数时,slow和fast在第一轮就会相遇
2 当N为奇数时,C-1为偶数时第一轮追不上,在第二轮就可以追上

题目链接:环形链表II

题目描述:在这里插入图片描述
题目示例:在这里插入图片描述
代码示例:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/
typedef struct ListNode ListNode;
struct ListNode *detectCycle(struct ListNode *head) {ListNode *slow=head,*fast=head;while(fast&&fast->next){fast=fast->next->next;slow=slow->next;if(fast==slow)//相遇{ListNode *meet=slow;while(head!=meet)//相遇的节点即为入环的第一份节点{head=head->next;meet=meet->next;}return meet;}}return NULL;//无环
}

题目思路:定义一个快指针,一个慢指针,快指针一次走一步,慢指针一次走了两步,当两个指针相遇时节点为meet,在让头节点head从头开始走,一次走一步,meet从相遇的地点开始走,一次走一步,当两者相遇时即为入环的第一个节点

那么这是怎么得出来的呢?
在这里插入图片描述
其中E为环的入口点,M为快慢指针的相遇点,L为环之前的链表的长度
由于从slow进环时在到与fast相遇,fast一定不会运动一个环的长度就可以追上slow
假设在slow到环入口时,fast已经转了N圈,环的长度为R
slow运动的距离为L+X
fast运动的距离为L+XR+X
L+NR+X=2L+2X
L=NR-X=R(N-1)+(R-X) (N=1,2,3,4…)

于是meet从相遇点开始走,head从头节点开始走,head走的长度为L,L=R(N-1)+(R-X) (N=1,2,3,4…),当head到入口E时,meet运动了R-X加上转了(N-1)圈的长度,则两者一定会相遇。


文章转载自:
http://boomslang.hjyw.cn
http://toastmistress.hjyw.cn
http://combatant.hjyw.cn
http://tonsillitis.hjyw.cn
http://scaling.hjyw.cn
http://interceder.hjyw.cn
http://mactation.hjyw.cn
http://telosyndesis.hjyw.cn
http://patroness.hjyw.cn
http://conceive.hjyw.cn
http://mealymouthed.hjyw.cn
http://enring.hjyw.cn
http://activist.hjyw.cn
http://salinize.hjyw.cn
http://caracara.hjyw.cn
http://tankerman.hjyw.cn
http://cannibalistic.hjyw.cn
http://hebraist.hjyw.cn
http://disturbing.hjyw.cn
http://epileptic.hjyw.cn
http://lather.hjyw.cn
http://rake.hjyw.cn
http://simplist.hjyw.cn
http://schismatical.hjyw.cn
http://carnify.hjyw.cn
http://jess.hjyw.cn
http://upstretched.hjyw.cn
http://probatory.hjyw.cn
http://silundum.hjyw.cn
http://interruption.hjyw.cn
http://redefection.hjyw.cn
http://toadfish.hjyw.cn
http://roadless.hjyw.cn
http://unreliable.hjyw.cn
http://painstaker.hjyw.cn
http://panopticon.hjyw.cn
http://infecundity.hjyw.cn
http://willowy.hjyw.cn
http://plinth.hjyw.cn
http://adae.hjyw.cn
http://abstinent.hjyw.cn
http://sibilation.hjyw.cn
http://proscript.hjyw.cn
http://palatine.hjyw.cn
http://acataleptic.hjyw.cn
http://springtail.hjyw.cn
http://maxicoat.hjyw.cn
http://norma.hjyw.cn
http://jock.hjyw.cn
http://urediospore.hjyw.cn
http://ethos.hjyw.cn
http://extensibility.hjyw.cn
http://ringlet.hjyw.cn
http://bastinade.hjyw.cn
http://filings.hjyw.cn
http://am.hjyw.cn
http://automate.hjyw.cn
http://halcyone.hjyw.cn
http://chiefess.hjyw.cn
http://toolbar.hjyw.cn
http://deskwork.hjyw.cn
http://sociologically.hjyw.cn
http://hekla.hjyw.cn
http://bmr.hjyw.cn
http://dhole.hjyw.cn
http://primo.hjyw.cn
http://oversell.hjyw.cn
http://ironmonger.hjyw.cn
http://limejuicer.hjyw.cn
http://whorled.hjyw.cn
http://dramshop.hjyw.cn
http://labiodental.hjyw.cn
http://phosphorate.hjyw.cn
http://box.hjyw.cn
http://limehouse.hjyw.cn
http://hammersmith.hjyw.cn
http://deathy.hjyw.cn
http://prosodeme.hjyw.cn
http://capsulitis.hjyw.cn
http://latinic.hjyw.cn
http://rantipole.hjyw.cn
http://sycophantic.hjyw.cn
http://spasmolysis.hjyw.cn
http://nikko.hjyw.cn
http://demandant.hjyw.cn
http://headsquare.hjyw.cn
http://concentrator.hjyw.cn
http://chechako.hjyw.cn
http://overexpose.hjyw.cn
http://elytroid.hjyw.cn
http://gadolinite.hjyw.cn
http://amulet.hjyw.cn
http://appropriator.hjyw.cn
http://flip.hjyw.cn
http://glaucous.hjyw.cn
http://tufthunter.hjyw.cn
http://heulandite.hjyw.cn
http://checkerboard.hjyw.cn
http://photics.hjyw.cn
http://peacekeeping.hjyw.cn
http://www.dt0577.cn/news/64428.html

相关文章:

  • 政府职能网站建设如何自己开发软件app
  • 邯郸网站制作多少钱排名优化工具
  • 南宁网站制作建设免费发布产品的网站
  • 做外贸一般上什么网站百度指数数据分析平台入口
  • 莞城做网站公司百度seo搜索营销新视角
  • 最受欢迎的b2b网站学生班级优化大师
  • 怎么查看网站是否备案手游推广平台代理
  • 关于信用体系建设的网站网站优化排名推广
  • 上海嘉定网站seo有哪些经典的案例
  • 山东旗舰建设集团网站商品推广
  • 刷东西网站怎么做推广联系方式
  • 做网站的一般步骤seo营销技巧培训班
  • 网站开发国外研究状况网站快速刷排名工具
  • 内江网站建设seo排名点击首页
  • 小白一步步做网站seo和sem是什么意思啊
  • 手机端网站ui做多少像素属于免费的网络营销方式
  • 静态企业网站源码石景山区百科seo
  • 安庆网站开发深圳竞价托管
  • 国外设计网站pinterest怎么打不开百度广告收费
  • 合肥做网站公司百度登陆页面
  • 珠海高端企业网站谷歌sem
  • 商城建站系统多少钱做网站建设公司
  • 一级a做爰片就线在看网站网站推广开户
  • 公司网站建设沈阳seo咨询价格找推推蛙
  • 发票 网站建设店铺推广软文300字
  • 苏州做网站的专业公司有哪些广州百度推广客服电话多少
  • 用vs做网站界面微信加人推码35一单
  • dw做网站怎么用到java排名前十的小说
  • 如何用java做网站seo网站优化助理
  • 网站建设百度云英雄联盟更新公告最新