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

网站开发全过程上海app开发公司

网站开发全过程,上海app开发公司,保定做网站建设,太原展厅设计公司快乐数 一、题目链接二、题目三、题目解析四、算法原理扩展 五、编写代码 一、题目链接 快乐数 二、题目 三、题目解析 快乐数的定义中第二点最重要,只有两种情况,分别拿示例1、示例2分析吧: 示例1中一旦出现1了,继续重复过程就…

快乐数

  • 一、题目链接
  • 二、题目
  • 三、题目解析
  • 四、算法原理
    • 扩展
  • 五、编写代码

一、题目链接

快乐数

二、题目

在这里插入图片描述

三、题目解析

快乐数的定义中第二点最重要,只有两种情况,分别拿示例1、示例2分析吧:

在这里插入图片描述
示例1中一旦出现1了,继续重复过程就还是1,所以一旦出现1了就返回true。

示例2中会出现无限循环,始终变不到1。

四、算法原理

在快乐数的定义里,最终结果要么是1,要么是无限循环但始终变不到1。也就是类似示例1、示例2的情况。

将上述两种情况抽象成图:

在这里插入图片描述

能抽象成一种图的原因:情况1是出现1了,继续重复过程一直是1,也就是也有一个环,只不过环里的数都是1罢了。而情况2中环里的数都不是1。

抽象成带环的图很像之前学习过的“判断链表是否带环”一题,只不过本题不是判断是否有环,而是判断环里的每一个值是多少。“判断链表是否带环”一题用的是“快慢双指针法”,本题同理也用这个方法。

步骤:

  1. 定义快慢双指针
  2. 慢指针每次向后走1步,快指针每次向后走2步
  3. 判断快慢指针相遇时的值

双指针法只是一种思想,并不是用真的指针,像本题中,甚至可以把某一个数充当成指针。

扩展

若题中没给定义第二点呢,是不是还有第3种情况:一个数一直进行下去永不成环。

证明:一个数进行下去一定会成环。

运用到了鸽巢原理(抽屉原理):n个巢穴,n + 1只鸽子,至少有一个巢穴里的鸽子数是大于1的。

在这里插入图片描述

五、编写代码

因为经常用到这个数上每一位的平方和,所以可以封装成一个函数完成:

// 返回 n 这个数每一位的平方和
int bitSum(int n)
{int sum = 0;while (n){int t = n % 10;sum += t * t;n /= 10;}return sum;
}

一上来定义slow和fast相等会导致循环进不去,所以应该把slow和fast定义成不相等的:

// 定义快慢双指针
int slow = n, fast = n;
// 慢指针每次向后走1步,快指针每次向后走2步
while (slow != fast){}

可以让fast指向第二个位置。相当于一上来就让slow走1步到第一个数的位置,fast走2步到第二个数的位置:

// 定义快慢双指针
int slow = n, fast = bitSum(n);
// 慢指针每次向后走1步,快指针每次向后走2步
while (slow != fast){}

完整代码如下:

class Solution {
public:// 返回 n 这个数每一位的平方和int bitSum(int n){int sum = 0;while (n){int t = n % 10;sum += t * t;n /= 10;}return sum;}bool isHappy(int n) {// 定义快慢双指针int slow = n, fast = bitSum(n);// 慢指针每次向后走1步,快指针每次向后走2步while (slow != fast){slow = bitSum(slow);fast = bitSum(bitSum(fast));}// 判断快慢指针相遇时的值return slow == 1;}
};
http://www.dtcms.com/wzjs/322838.html

相关文章:

  • 赛盈分销平台临沂seo建站
  • 做赌博网站刷单违法吗丹东seo推广优化报价
  • 网站开发开什么票营销推广与策划
  • 安卓开发工具下载快手seo关键词优化
  • 企业logo设计注意事项关键词优化排名用什么软件比较好
  • 网站建设 软件有哪些方面软件开发公司排名
  • 网站ip和pv的比例seo服务价格表
  • c 可以做哪些网站百度官网认证
  • 中国疫情最新消息那里严重上海seo公司排名榜
  • 做视频解析网站违法不网络营销和传统营销的区别
  • 有没有做定制衣服的网站外链在线生成
  • 网站手机版模板免费下载b站24小时自助下单平台网站
  • 静态网站怎么样网络营销专业学什么
  • 织梦网站防黑怎么做网站建网站建设网站
  • 学生可做的网站主题深圳关键词推广整站优化
  • 前端可以自己做网站么可口可乐软文营销案例
  • 网站建设平台开发中国经济网人事
  • 上海做网站的知名企业cba最新排名
  • dw做的网站怎么上传seo企业优化顾问
  • 福州仓前网站建设怎么查搜索关键词排名
  • 深圳外贸网站开发建设中国搜索引擎份额排行
  • 个人接做政府网站广州网站优化公司如何
  • 广东外贸网站推广公司网络营销策划书格式
  • 黄山网站建设哪家强百度站长中心
  • 网站到期时间廊坊关键词快速排名
  • 顺企网怎么发布公司信息在线seo诊断
  • 网站建设公司济宁网上营销模式
  • 景区网站建设方案中国国家人事人才培训网证书查询
  • 网站建设视频l鱼头seo软件
  • 网站开发学习视频百度西安分公司地址