788. rotated digits

Source: Internet
Author: User

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].
class Solution:    def rotatedDigits(self, N):        """        :type N: int        :rtype: int        """        def judge(t):            s = list(str(t))            for i in range(len(s)):                if s[i] in [‘3‘,‘4‘,‘7‘]:                    return False                if s[i]==‘2‘:                    s[i] = ‘5‘                    continue                if s[i]==‘5‘:                    s[i] = ‘2‘                    continue                if s[i]==‘6‘:                    s[i] = ‘9‘                    continue                if s[i]==‘9‘:                    s[i] = ‘6‘                    continue            if t == int(‘‘.join(s)):                return False            return True        res = 0        for i in range(1,N+1):            if judge(i):                # print(i)                res += 1        return res

788. rotated digits

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.