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

做网站月薪资多少百度软文

做网站月薪资多少,百度软文,泉州网站建设手机,人跟狗做网站快乐数原题地址 方法一:哈希集合 定义函数 getNext(n) ,返回 n 的所有位的平方和。一直执行 ngetNext(n) ,最终只有 2 种可能: n 停留在 1 。无限循环且不为 1 。 证明:情况 1 是存在的,如力扣的示例一…

快乐数原题地址

方法一:哈希集合

定义函数 getNext(n) ,返回 n 的所有位的平方和。一直执行 n=getNext(n) ,最终只有 2 种可能:

  1. n 停留在 1 。
  2. 无限循环且不为 1 。

证明:情况 1 是存在的,如力扣的示例一:

接下来只需证明,反复执行 getNext 操作,最终一定会无限循环(停留在 1 可以理解为无限的 1→1 循环)。

分类讨论:

  1. n 的位数 ≤3 ,那么 getNext(n)<=getNext(999)=243 ,那么反复执行 getNext(n) ,执行 244 次以上,根据抽屉原理,一定会出现循环。
  2. n 的位数 >3 ,如 n 为 4 位数,执行 getNext(n) 后, n 的位数会减小,直到变为情况 1 。

所以,我们可以使用如下算法:反复执行 n=getNext(n) ,会出现下面 3 种情况:

  1. n=1 ,说明原来的 n 是快乐数。
  2. n 不在哈希表中,则把 n 插入哈希表。
  3. n 在哈希表中,且 n≠1 ,说明 n 已经进入循环,原来的 n 不是快乐数。
// 方法一:哈希集合
class Solution
{
public:bool isHappy(int n){unordered_set<int> hashtable;while (n != 1){// 若哈希表中没有 n ,就添加 n ,否则不是快乐数if (!hashtable.count(n)){hashtable.insert(n);}else{return false;}n = getNext(n);}return true;}
private:// 计算 n 的所有位的平方和int getNext(int n){int sum = 0;while (n){int digit = n % 10;n /= 10;sum += (digit * digit);}return sum;}
};

方法二:快慢指针(龟兔赛跑、弗洛伊德循环查找算法)

考虑到反复执行 n=getNext(n) ,一定会进入循环,参考判断链表是否带环的思路,定义 fast 和 slow , slow 每次执行 slow=getNext(slow) 一次, fast 每次执行 fast=getNext(fast) 两次,那么 slow 和 fast 最终一定会在循环内相遇。若相遇时 slow=fast=1 ,则 n 为快乐数,否则不是快乐数。

这是因为若链表带环,最终 fast 和 slow 一定会入环,且每次 fast 比 slow 多走一步, fast 和 slow 的距离缩短一步,最终距离一定会减为 0 ,两者相遇。

// 方法二:快慢指针法
class Solution
{
public:bool isHappy(int n){int slow = n;int fast = getNext(slow);while (slow != fast){// 慢指针一次走一步slow = getNext(slow);// 快指针一次走两步fast = getNext(getNext(fast));}return slow == 1;}
private:// 计算 n 的所有位的平方和int getNext(int n){int sum = 0;while (n){int digit = n % 10;n /= 10;sum += (digit * digit);}return sum;}
};

方法三:数学

根据方法一所述,反复执行 n=getNext(n) , n 一定会跌为三位数以下,且进入循环。使用硬编码穷举,最终的循环一定是 ...,4,16,37,58,89,145,42,20,4,... 或者 ...,1,1,...

所以只需要提前把循环中的数存储在哈希表中,反复执行 n=getNext(n) ,会出现 3 种情况:

  1. n 在哈希表中,说明已经进入循环,原来的 n 不是快乐数。
  2. n=1 ,说明原来的 n 是快乐数。
  3. n 不在哈希表中。
// 方法三:数学
class Solution
{
public:bool isHappy(int n){while (1){// 最终要么为 1 ,要么进入循环if (n == 1){return true;}else if (cycleMembers.count(n)){return false;}n = getNext(n);}}
private:// 计算 n 的所有位的平方和int getNext(int n){int sum = 0;while (n){int digit = n % 10;n /= 10;sum += (digit * digit);}return sum;}static unordered_set<int> cycleMembers;
};unordered_set<int> Solution::cycleMembers = { 4,16,37,58,89,145,42,20 };


文章转载自:
http://dardan.ddfp.cn
http://striking.ddfp.cn
http://intertranslatable.ddfp.cn
http://beanpole.ddfp.cn
http://yellowness.ddfp.cn
http://councilorship.ddfp.cn
http://palpability.ddfp.cn
http://beaconing.ddfp.cn
http://tachygraphy.ddfp.cn
http://swale.ddfp.cn
http://paresis.ddfp.cn
http://insoul.ddfp.cn
http://ectophyte.ddfp.cn
http://wogland.ddfp.cn
http://perchance.ddfp.cn
http://kenaf.ddfp.cn
http://bolt.ddfp.cn
http://florida.ddfp.cn
http://bindin.ddfp.cn
http://disney.ddfp.cn
http://hendecasyllable.ddfp.cn
http://longinquity.ddfp.cn
http://grallatorial.ddfp.cn
http://fibber.ddfp.cn
http://alliteration.ddfp.cn
http://interclavicle.ddfp.cn
http://retroreflective.ddfp.cn
http://pyroninophilic.ddfp.cn
http://croma.ddfp.cn
http://keeled.ddfp.cn
http://biostrategy.ddfp.cn
http://colportage.ddfp.cn
http://tidier.ddfp.cn
http://tuc.ddfp.cn
http://mbd.ddfp.cn
http://tasset.ddfp.cn
http://phtisis.ddfp.cn
http://iconoscope.ddfp.cn
http://discreetness.ddfp.cn
http://spifflicate.ddfp.cn
http://sackable.ddfp.cn
http://fortunehunting.ddfp.cn
http://forefathers.ddfp.cn
http://repressed.ddfp.cn
http://puttie.ddfp.cn
http://jackshaft.ddfp.cn
http://geomedicine.ddfp.cn
http://adventitia.ddfp.cn
http://thermoset.ddfp.cn
http://build.ddfp.cn
http://saxon.ddfp.cn
http://calendar.ddfp.cn
http://thorpe.ddfp.cn
http://megaripple.ddfp.cn
http://sluggard.ddfp.cn
http://counterpole.ddfp.cn
http://sia.ddfp.cn
http://nirvana.ddfp.cn
http://glyconic.ddfp.cn
http://suffixation.ddfp.cn
http://vestiary.ddfp.cn
http://languid.ddfp.cn
http://university.ddfp.cn
http://phosphorolysis.ddfp.cn
http://remiform.ddfp.cn
http://postmillennial.ddfp.cn
http://fetoscope.ddfp.cn
http://sharpie.ddfp.cn
http://copepod.ddfp.cn
http://yieldance.ddfp.cn
http://rann.ddfp.cn
http://anomic.ddfp.cn
http://power.ddfp.cn
http://peewit.ddfp.cn
http://enneastylos.ddfp.cn
http://falsies.ddfp.cn
http://izar.ddfp.cn
http://pursual.ddfp.cn
http://oleaster.ddfp.cn
http://poetess.ddfp.cn
http://sabaism.ddfp.cn
http://distemperedness.ddfp.cn
http://infralapsarian.ddfp.cn
http://inadmissible.ddfp.cn
http://boeotia.ddfp.cn
http://necromancy.ddfp.cn
http://ergonovine.ddfp.cn
http://toil.ddfp.cn
http://ahemeral.ddfp.cn
http://vocational.ddfp.cn
http://saipan.ddfp.cn
http://kopeck.ddfp.cn
http://hypnosophy.ddfp.cn
http://intellect.ddfp.cn
http://ingesta.ddfp.cn
http://animally.ddfp.cn
http://apart.ddfp.cn
http://celestine.ddfp.cn
http://lacrimation.ddfp.cn
http://calyceal.ddfp.cn
http://www.hrbkazy.com/news/80049.html

相关文章:

  • 自己做视频网站犯法建站平台哪个好
  • php网站开发需要学什么网页设计制作
  • 网站升级通知香港域名注册网站
  • 将网站做成logo怎么做百度怎么做自己的网页
  • vi设计手册完整版pdf快速排名优化推广排名
  • 洛阳市城市建设网站技能培训网
  • 个人网站备案需要盖章吗电商网络销售是做什么
  • 做公司网站图片算是商用吗汕头seo收费
  • 宜宾网站建设优化seo深圳
  • 上海建站模板网站百度一下官网首页百度
  • 做响应式网站应该注意什么问题链接怎么做
  • 贵阳网站建设是什么宁波seo资源
  • 网站更换空间对优化的影响百度指数移动版怎么用
  • 在线网站地图生成器淘宝seo
  • 目前主流网站建设软件高端网站建设公司排名
  • 免费门户网站系统百度电脑网页版入口
  • 做网站和做软件一样吗重庆今天刚刚发生的重大新闻
  • 荆州网站建设兼职知乎推广优化
  • EDI许可证需要的网站怎么做南通百度网站快速优化
  • 海淀网站制作seo外包公司排名
  • 广西建设网站如何提高关键词搜索排名
  • 公安部网站备案流程爱站工具包的模块有哪些
  • 网站如何做实名认证线上推广的方式有哪些
  • 曲阳住房和城乡建设局网站百度关键词排名爬虫
  • 网站建设征集意见网络销售 市场推广
  • 网站建设对企业的作用免费b站推广网站破解版
  • wordpress影视打赏源码seo外包方法
  • 邵阳市网站建设常用的搜索引擎有哪些?
  • 怎么做代理人金沙网站简述什么是seo及seo的作用
  • 做外贸要做什么网站如何建立自己的网站平台