LintCode_488_快乐数
来源:互联网 发布:电影心动的感觉 知乎 编辑:程序博客网 时间:2024/05/16 06:45
问题描述
写一个算法来判断一个数是不是”快乐数”。
一个数是不是快乐是这么定义的:对于一个正整数,每一次将该数替换为他每个位置上的数字的平方和,然后重复这个过程直到这个数变为1,或是无限循环但始终变不到1。如果可以变为1,那么这个数就是快乐数。
样例
19 就是一个快乐数。
1^2 + 9^2 = 82
8^2 + 2^2 = 68
6^2 + 8^2 = 100
1^2 + 0^2 + 0^2 = 1
求解
class Solution {public: /* * @param n: An integer * @return: true if this is a happy number or false */ bool isHappy(int n) { unordered_set<int> visited; auto nextNumber = [](int num) -> int { int sum = 0; while(num) { int rem = num % 10; sum += rem * rem; num /= 10; } return sum; }; while(n != 1 && !visited.count(n)) { visited.emplace(n); n = nextNumber(n); } return n == 1; }};
阅读全文
0 0
- LintCode_488_快乐数
- 快乐数
- 快乐数
- 快乐数
- 快乐数
- 快乐数
- 快乐数
- 快乐数
- 快乐数
- 快乐数
- 快乐数
- 快乐数
- 快乐数
- 快乐数
- 快乐数
- LintCode-简单-快乐数
- LintCode-快乐数
- LintCode:快乐数
- 在Android Studio中创建 java 项目
- bufferreader 和scanner情况
- CS231N学习笔记3 Linear Classification
- opencv图像的载入:imread()函数
- mysql 日期操作 增减天数、时间转换、时间戳
- LintCode_488_快乐数
- 第五章
- Mybatis项目从Eclipse转入Idea无法启动问题 Mapped Statements collection does not contain value for
- 从K近邻算法、距离度量谈到KD树、SIFT+BBF算法
- [linux] start with elementary
- potplay的使用
- C#语言基础之数据类型的转换
- asp.net core学习01
- 在<form:select>中使用<c:forEach>标签遍历几种list示例