码迷,mamicode.com
首页 > 其他好文 > 详细

Leetcode: Rotated Digits

时间:2019-10-17 13:55:22      阅读:69      评论:0      收藏:0      [点我收藏+]

标签:osi   com   ota   code   and   other   put   span   res   

X is a good number if after rotating each digit individually by 180 degrees, we get a valid number that is different from X.  Each digit must be rotated - we cannot choose to leave it alone.

A number is valid if each digit remains a digit after rotation. 0, 1, and 8 rotate to themselves; 2 and 5 rotate to each other; 6 and 9 rotate to each other, and the rest of the numbers do not rotate to any other number and become invalid.

Now given a positive number N, how many numbers X from 1 to N are good?

Example:
Input: 10
Output: 4
Explanation: 
There are four good numbers in the range [1, 10] : 2, 5, 6, 9.
Note that 1 and 10 are not good numbers, since they remain unchanged after rotating.
Note:

N  will be in range [1, 10000].

 

 1 class Solution {
 2     public int rotatedDigits(int N) {
 3         int count = 0;
 4         for (int i = 1; i <= N; i ++) {
 5             if (isValid(i)) count ++;
 6         }
 7         return count;
 8     }
 9     
10     public boolean isValid(int N) {
11         /*
12          Valid if N contains ATLEAST ONE 2, 5, 6, 9
13          AND NO 3, 4 or 7s
14          */
15         boolean validFound = false;
16         while (N > 0) {
17             if (N % 10 == 2) validFound = true;
18             if (N % 10 == 5) validFound = true;
19             if (N % 10 == 6) validFound = true;
20             if (N % 10 == 9) validFound = true;
21             if (N % 10 == 3) return false;
22             if (N % 10 == 4) return false;
23             if (N % 10 == 7) return false;
24             N = N / 10;
25         }
26         return validFound;
27     }
28 }

 

Leetcode: Rotated Digits

标签:osi   com   ota   code   and   other   put   span   res   

原文地址:https://www.cnblogs.com/EdwardLiu/p/11691294.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!