788旋转数字leetcode

简介: 788旋转数字leetcode

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


如果一个数的每位数字被旋转以后仍然还是一个数字, 则这个数是有效的。0, 1, 和 8 被旋转后仍然是它们自己;2 和 5 可以互相旋转成对方;6 和 9 同理,除了这些以外其他的数字旋转以后都不再是有效的数字。


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


示例:

输入: 10

输出: 4

解释:

在[1, 10]中有四个好数: 2, 5, 6, 9。

注意 1 和 10 不是好数, 因为他们在旋转之后不变。

注意:


N 的取值范围是 [1, 10000]。



   //思路:数中出现0,1,8可以不用管,因为旋转后还是本身。但一定不能出现3,4,7,因为旋转后就不是一个数了。也一定要出现2,5,6,9,因为如果只出现0,1,8,就会是它本身了。

   class Solution {

   public:

       int rotatedDigits(int N) {

           int tag_2_5_6_9 = 0;

           int tag_3_4_7 = 0;

           int num = 0;

           int r, X;

           for(int i = 1; i <= N; ++i)

           {

               X = i;

               while(X != NULL)

               {

                   r = X % 10;

 

                   if(r == 3 || r == 4 || r == 7)

                       tag_3_4_7 = 1;

                   if(r == 2 || r == 5 || r == 6 || r == 9)

                       tag_2_5_6_9 = 1;

                   X = (X - r) / 10;

               }

               if(tag_2_5_6_9 == 1 && tag_3_4_7 == 0)

                   num ++;

               tag_2_5_6_9 = 0;

               tag_3_4_7 = 0;

           }

           return num;

       }

   };

目录
相关文章
|
6月前
【bug记录】旋转链表与力扣报错:member access within null pointer of type ‘struct ListNode‘
【bug记录】旋转链表与力扣报错:member access within null pointer of type ‘struct ListNode‘
|
4月前
|
机器学习/深度学习
Leetcode第48题(旋转图像)
这篇文章介绍了LeetCode第48题“旋转图像”的解题方法,通过原地修改二维矩阵实现图像的顺时针旋转90度。
45 0
Leetcode第48题(旋转图像)
|
4月前
|
索引
Leetcode第三十三题(搜索旋转排序数组)
这篇文章介绍了解决LeetCode第33题“搜索旋转排序数组”的方法,该问题要求在旋转过的升序数组中找到给定目标值的索引,如果存在则返回索引,否则返回-1,文章提供了一个时间复杂度为O(logn)的二分搜索算法实现。
38 0
Leetcode第三十三题(搜索旋转排序数组)
|
6月前
|
存储 算法
LeetCode第48题旋转图像
LeetCode第48题"旋转图像"的解题方法,通过两次翻转操作——先水平翻转再对角线翻转,实现了原地旋转矩阵的效果。
LeetCode第48题旋转图像
|
6月前
|
Python
【Leetcode刷题Python】剑指 Offer 11. 旋转数组的最小数字
解决剑指Offer 11题 "旋转数组的最小数字" 的三种Python实现方法:直接使用min函数、线性查找分界点和二分查找法,以找出旋转数组中的最小元素。
73 2
|
8月前
|
存储 算法 数据可视化
深入解读力扣154题:寻找旋转排序数组中的最小值 II(多种方法及详细ASCII图解)
深入解读力扣154题:寻找旋转排序数组中的最小值 II(多种方法及详细ASCII图解)
|
8月前
|
存储 算法 数据可视化
|
8月前
|
机器学习/深度学习 存储
力扣经典150题第三十六题:旋转图像
力扣经典150题第三十六题:旋转图像
45 0
|
8月前
【LeetCode刷题】二分查找:寻找旋转排序数组中的最小值、点名
【LeetCode刷题】二分查找:寻找旋转排序数组中的最小值、点名
|
8月前
|
算法
【经典LeetCode算法题目专栏分类】【第6期】二分查找系列:x的平方根、有效完全平方数、搜索二位矩阵、寻找旋转排序数组最小值
【经典LeetCode算法题目专栏分类】【第6期】二分查找系列:x的平方根、有效完全平方数、搜索二位矩阵、寻找旋转排序数组最小值