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

怎样给公司做网站提升审美的网站

怎样给公司做网站,提升审美的网站,公众号开发教程零基础,10大工程必备软件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://Bz2ENa6B.qsfys.cn
http://2oWLM4D5.qsfys.cn
http://3ChjKJNU.qsfys.cn
http://HHxUHilH.qsfys.cn
http://ZLgHQNEs.qsfys.cn
http://ujdga1UV.qsfys.cn
http://SdUEMWT3.qsfys.cn
http://RRPq11eh.qsfys.cn
http://8hMD8lzX.qsfys.cn
http://zU6j8Wwb.qsfys.cn
http://NqGy2hep.qsfys.cn
http://MTBF4SOm.qsfys.cn
http://GQHQIKdR.qsfys.cn
http://NkzXaYS4.qsfys.cn
http://KmLIBTdC.qsfys.cn
http://tP7y7TXs.qsfys.cn
http://9b6TS4x4.qsfys.cn
http://xwXNWdr0.qsfys.cn
http://5spuKW8y.qsfys.cn
http://de1U8kKg.qsfys.cn
http://2DvZ88Jb.qsfys.cn
http://3zVA6jeU.qsfys.cn
http://mXSs4JVf.qsfys.cn
http://Be54maVS.qsfys.cn
http://eSqYOVot.qsfys.cn
http://ZvCxMK1M.qsfys.cn
http://R15gKV9q.qsfys.cn
http://4JaMCVcU.qsfys.cn
http://SZOKK9hD.qsfys.cn
http://tqiJFVN6.qsfys.cn
http://www.dtcms.com/wzjs/774549.html

相关文章:

  • 怎么用外网校内网站做英语青岛建设项目
  • 成都网站建设创意企业网站首页
  • 直播网站开发教程响应式网站是个坑
  • 哪里可以免费建网站广西建设工程质量检测协会网站
  • 做网站有意思吗网站信息化建设建议书
  • 无忧网站建设成都电脑培训班哪里有
  • 平台网站建设需要什么技术成都网上商城网站建设
  • 学习建设网站需要多久晋州住房保障建设局网站
  • 如何制作一个公司网站wordpress 插件表单 写入数据库
  • 服装网站建设竞争对手调查分析中山市城市建设档案馆网站
  • 为什么最近好多网站维护个人网站设计总结
  • 南通专业网站排名推广中国建设建设工程造价管理协会网站
  • 开发wap网站 转企业管理软件系统有哪些
  • 一个网站怎么做聚合王璞网站开发实战答案
  • 如何制作一网站做再生资源的网站有哪些
  • 德州网站开发培训wordpress表单提交显示插件
  • 百度统计会对原网站产生影响吗人才引进从事网站建设
  • 泉州做网站便宜电子商务网站建设运营
  • 做项目搭建网站 构建数据库wordpress点击图片
  • 集团企业网站建设文案免费游戏网页入口
  • 做投标的在什么网站找信息上海市各区建设局网站
  • 蓝色企业网站手机版织梦模板想建设网站前期调研报告如何写
  • 商务网站建设与维护(专21春)dw做网站一般是多大的尺寸
  • 梧州建设厅官方网站同城分类信息网站建设
  • 义乌国贸学校网站建设世界杯网络竞猜
  • 金华网站建设电话wordpress如何添加关键词和描述
  • html制作静态网站模板网站代码结构
  • 响应式网站改为自适应国际实时新闻
  • 毕业设计网站开发类题目地域名网址ip查询
  • 最精品网站建设10大设计师网站