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

贵州做网站的wordpress简约文字主题

贵州做网站的,wordpress简约文字主题,网站怎么发内容优化,白酒网站源码1.题目要求 2.题目链接 202. 快乐数 - 力扣(LeetCode) 3.题目分析 首先,因为需要频繁地用到数字变为各个位上的平方的过程,我们可以将"对于一个正整数,每一次将该数替换为它每个位置的数字的平方和"这一操作抽象出来,定义成一个…

1.题目要求

2.题目链接

202. 快乐数 - 力扣(LeetCode)

3.题目分析

首先,因为需要频繁地用到数字变为各个位上的平方的过程,我们可以将"对于一个正整数,每一次将该数替换为它每个位置的数字的平方和"这一操作抽象出来,定义成一个方法funtion(int n)以供调用。

第二,我们可以从题目中得知,数字经过funtion操作后,只有两种结果,一种是结果是1一种是无限循环但是不等于1(不存在第三种情况,也就是数字无限演化但既不等于1也不循环,可以通过鸽巢定理简单证明)。又因为funtion(1)=1,所以说结果为1后也可以认为陷入了循环

所以数字经过funtion操作后,最终都会陷入循环,那么我们就可以得到:

第三,这种情况就是我们非常熟悉的链表带环问题了。

链表带环问题就是需要我们判断一个链表是否带有环,我们通过定义快慢双指针,快指针fast一次走两步,慢指针slow一次走一步,进行循环,如果链表带环,那么双指针跑不出去链表,也就是会无限循环,直到双方相遇;如果链表不带环,那么快指针fast就会触发fast==null||fast.next==null这一条件终止while循环。

这里我们是将快乐数的演化操作想象成一条带环的链表,来求快慢指针相遇的节点的值,因为快慢指针的相遇一定是在环内,所以我们可以得到循环的值,如果是1,则证明该数是快乐数。如果不是,则证明不是。

public boolean isHappy(int n) {int slow=n;int fast=function(n);while(fast!=slow){slow=function(slow);fast=function(function(fast));} if(slow==1){return true;}else{return false;}}

这里因为我们已知链表有环,所以我们可以直接设置while结束条件为fast!=slow。但是fast和slow都是从头结点n开始的,根本无法进入while循环,所以我们可以将fast指针往前移动一步(int fast=function(n);) 。

4代码细节

(1)为什么fast在这里可以先走一步?

正确性证明

快慢指针法的核心是:只要存在环,快指针一定会追上慢指针,无论两者的初始位置如何。具体分析:

  1. 环的存在性:若n不是快乐数,则序列必然陷入某个循环(环)。
  2. 相对速度fast每次比slow多走一步(slow走 1 步,fast走 2 步),因此两者的相对距离每次减少 1。
  3. 相遇必然性:无论fastslow的初始位置相差多少步,只要存在环,fast最终一定会追上slow(相对距离减至 0)。
提前一步的影响
  • 加速相遇fast提前一步,相当于提前进入环,可能减少相遇所需的迭代次数。
  • 不改变结果:相遇点的位置可能不同,但最终仍能判断是否存在环(是否等于 1)。

(2)快慢指针移动逻辑

原问题中,fast=fast.next.next,slow=slow.next。这里我们也要对应的写为:

while(fast!=slow){slow=function(slow);fast=function(function(fast));} 

如果不小心写为这样:

while(fast!=slow){slow=function(n);fast=function(function(n));} 

 就会导致slwo和fast永远都是固定值,双指针永远不移动。


文章转载自:

http://BZAp81By.wrtsm.cn
http://Xi4D2lsI.wrtsm.cn
http://qVfGLa3A.wrtsm.cn
http://vIcRPNtZ.wrtsm.cn
http://AS8bFSr6.wrtsm.cn
http://q6oh13sc.wrtsm.cn
http://TgZpvpBd.wrtsm.cn
http://rZe16lLH.wrtsm.cn
http://s8Ge1eeA.wrtsm.cn
http://q9mVOTRs.wrtsm.cn
http://UpmAL4hM.wrtsm.cn
http://DgT3v0sY.wrtsm.cn
http://kCBltbHv.wrtsm.cn
http://b1KTrqRd.wrtsm.cn
http://SCMcyOdm.wrtsm.cn
http://KoIhE1M3.wrtsm.cn
http://ltcUTuqM.wrtsm.cn
http://MInHzQla.wrtsm.cn
http://i7urfr2a.wrtsm.cn
http://gpS9q2oV.wrtsm.cn
http://EzlRLUef.wrtsm.cn
http://o2t4peYp.wrtsm.cn
http://TsaHbXnM.wrtsm.cn
http://hoWJssvk.wrtsm.cn
http://znkYoXXR.wrtsm.cn
http://Kf6jfNyl.wrtsm.cn
http://hUnFKzYK.wrtsm.cn
http://8YmQEq3m.wrtsm.cn
http://GiTaS0YU.wrtsm.cn
http://ALgAOJG0.wrtsm.cn
http://www.dtcms.com/wzjs/703740.html

相关文章:

  • 帝国做网站怎么加视频阳城网站建设
  • 唯品会网站建设目标自己电脑做网站服务器设置
  • 公司做的网站入哪个会计科目wordpress关键字回复
  • 2018做网站的视频做视频网站视频放在哪里
  • 新建网站软件中山网络公司网站
  • 网页站点是什么意思英文注册查询网站
  • 提示网站建设页面网站建设四川冠辰
  • 建设银行网站怎么登陆密码错误乐清网页制作公司哪家好
  • 物流网站怎么做代理网站建设设计收费
  • 如何做新闻类网站网络推广培训培训机构
  • 网站开发样例深圳设计网站多少钱
  • 建网页和网站的区别中国住房和城乡建设部查询网站
  • 查手表价格的网站大型网站建设需要
  • 视频网站建设方案海南建设网网站
  • 平安河南建设网站智云鸟网站建设
  • 哪些网站页面简洁网站幻灯片效果
  • 网站建设发展历程ppt网站建设收费报价表
  • 国外优秀电商网站艾特思成都网站建设
  • 做环保网站案例网页制作的基本步骤视频
  • 网站企业业务员怎么做网页升级紧急跳转
  • 帝国后台网站如何设置自动刷新首广告公司策划
  • 宁波产城生态建设集团网站学seo可以做网站吗
  • 网站 备案 几天上海网站制作哪家好
  • 平台网站应该怎样做seo潜江网站设计公司
  • 聊城那里做网站适合个人做的跨境电商
  • 做网站常德wordpress和di
  • 做网站 大文件微信 host 微网站模版
  • 做网站的几个必要步骤什么设计网站好
  • 网站建设验收单意见怎么写福田公司在哪里
  • 给公司做网站多少钱18款app软件免费下载百度