题目描述:
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/
请尊重作者的劳动成果,转载请注明出处!书影博客保留对文章的所有权利。