[LeetCode]Remove 9

题目描述:

LeetCode 660. Remove 9

Start from integer 1, remove any integer that contains 9 such as 9, 19, 29...

So now, you will have a new integer sequence: 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, ...

Given a positive integer n, you need to return the n-th integer after removing. Note that 1 will be the first integer.

Example 1:

Input: 9
Output: 10

Hint: n will not exceed 9 x 10^8.

题目大意:

从1开始,去掉所有包含9的整数。

得到的整数序列:1, 2, 3, 4, 5, 6, 7, 8, 10, 11, ...

给定整数n,返回序列的第n个整数。注意1是第一个数。

解题思路:

九进制

Python代码:

class Solution(object):
    def newInteger(self, n):
        """
        :type n: int
        :rtype: int
        """
        ans = ''
        while n:
            ans += str((n % 9))
            n /= 9
        return int(ans[::-1])

 

本文链接:http://bookshadow.com/weblog/2017/08/13/leetcode-remove-9/
请尊重作者的劳动成果,转载请注明出处!书影博客保留对文章的所有权利。

如果您喜欢这篇博文,欢迎您捐赠书影博客: ,查看支付宝二维码

Pingbacks已关闭。

暂无评论

张贴您的评论