1. 题目

我们称一个数 X 为好数, 如果它的每位数字逐个地被旋转 180 度后,我们仍可以得到一个有效的,且和 X 不同的数。要求每位数字都要被旋转。

如果一个数的每位数字被旋转以后仍然还是一个数字, 则这个数是有效的。
0, 1, 和 8 被旋转后仍然是它们自己;
2 和 5 可以互相旋转成对方(在这种情况下,它们以不同的方向旋转,换句话说,2 和 5 互为镜像);
6 和 9 同理,除了这些以外其他的数字旋转以后都不再是有效的数字。

现在我们有一个正整数 N, 计算从 1 到 N 中有多少个数 X 是好数?

示例:
输入: 10
输出: 4
解释:
在[1, 10]中有四个好数: 2, 5, 6, 9。
注意 1 和 10 不是好数, 因为他们在旋转之后不变。提示:
N 的取值范围是 [1, 10000]。

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/rotated-digits
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

class Solution {public:int rotatedDigits(int N) {int i, num, bit, count = 0;bool flag, includeDiffer;for(i = 2; i <= N; ++i){num = i;flag = true;includeDiffer = false;while(num){bit = num % 10;if(bit == 3 || bit == 4 || bit == 7){flag = false;//不是有效的数字了break;}if(includeDiffer == false && (bit == 2 || bit == 5 || bit == 6 || bit == 9))includeDiffer = true;//这些数转了以后,数值变化num /= 10;}if(flag && includeDiffer)//有效数字,且变化了++count;}return count;}
};

4 ms 8.1 MB

LeetCode 788. 旋转数字相关推荐

  1. 【788. 旋转数字】

    来源:力扣(LeetCode) 描述: 我们称一个数 X 为好数, 如果它的每位数字逐个地被旋转 180 度后,我们仍可以得到一个有效的,且和 X 不同的数.要求每位数字都要被旋转. 如果一个数的每位 ...

  2. 【Leetcode -61.旋转链表 -82.删除排序链表中的重复元素Ⅱ】

    Leetcode Leetcode -61.旋转链表 Leetcode -82.删除排序链表中的重复元素Ⅱ Leetcode -61.旋转链表 题目:给你一个链表的头节点 head ,旋转链表,将链表 ...

  3. 使用LeNet对于旋转数字进行识别:合并数字集合

    简 介: 将所有机械旋转字符合成一个大的训练集合(3415个样本),使用其中80%作为训练样本集合,利用LeNet网络进行训练.最终在测试集合上获得95%的识别率.对于误差超过1的样本只要0.7%. ...

  4. LeetCode:旋转链表【61】

    LeetCode:旋转链表[61] 题目描述 给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数. 示例 1: 输入: 1->2->3->4->5- ...

  5. [Golang]力扣Leetcode - 374. 猜数字大小(二分查找)

    [Golang]力扣Leetcode - 374. 猜数字大小(二分查找) 题目:猜数字游戏的规则如下: 每轮游戏,我都会从 1 到 n 随机选择一个数字. 请你猜选出的是哪个数字. 如果你猜错了,我 ...

  6. LeetCode(788)——旋转数字(JavaScript)

    我们称一个数 X 为好数, 如果它的每位数字逐个地被旋转 180 度后,我们仍可以得到一个有效的,且和 X 不同的数.要求每位数字都要被旋转. 如果一个数的每位数字被旋转以后仍然还是一个数字, 则这个 ...

  7. 力扣随心刷C++随手记(1):旋转数字(788)

    题目: 我们称一个数 X 为好数, 如果它的每位数字逐个地被旋转 180 度后,我们仍可以得到一个有效的,且和 X 不同的数.要求每位数字都要被旋转. 如果一个数的每位数字被旋转以后仍然还是一个数字, ...

  8. [Swift]LeetCode788. 旋转数字 | Rotated Digits

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  9. Leetcode (396 旋转函数)

    问题: 给定一个长度为 n 的整数数组 A . 假设 Bk 是数组 A 顺时针旋转 k 个位置后的数组,我们定义 A 的"旋转函数" F 为: F(k) = 0 * Bk[0] + ...

最新文章

  1. 程序设计类课程教学中创造技法的探索
  2. Android Service下载文件并自定义通知提示下载
  3. 学习CTF(二进制安全)一个月多的奇妙冒险~;
  4. Spring Boot国际化支持
  5. table中添加下拉框
  6. 为了不把黑人兄弟认作大猩猩,谷歌的算法连真的大猩猩都不认识了
  7. Linux服务器配置和管理:Shell编程查找关键字个数-查找相邻行数
  8. C/C++[codeup 1934,1932,1935]查找
  9. GPS信号防丢失、干扰和欺骗——基于雷达的解决方案
  10. proteus网络编号
  11. 2022G3锅炉水处理上岗证题库及答案
  12. 工具武装的前端开发工程师
  13. win7计算机开机启动项设置,如何设置WIN7开机启动项?
  14. Notepad++ 替代品开源了,好用 !!!
  15. Linux云计算好学吗?Linux云计算运维学习资料 Vim编辑器
  16. 画笔和画刷的种类和使用方法
  17. 【Docker】Registry搭建私有仓库、证书认证、用户登录认证
  18. 实操信贷场景中的反欺诈模型
  19. 布法罗博士计算机专业回国人员,2020年纽约州立大学布法罗分校博士专业设置...
  20. SpringCloud系列之版本选择

热门文章

  1. Python第三方库的安装及路径查看总结
  2. php mysql xa事务_XA mysql php 分布式事务
  3. 深入理解golang 的栈
  4. 位图索引,数据库索引浅浅的学习
  5. show一下自己的文档编写功底
  6. 一台服务器上部署多个Terracotta的方法
  7. IL应用之——用IL分析接口的本质
  8. 基础算法学习(二)_二叉树及应用赫夫曼编码
  9. 被LCD调戏睡不着了
  10. android studio入门