这篇文章主要介绍LeetCode怎么打印从1到最大的n位数,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
题目:输入数字n,按顺序从1打印到最大的n位十进制数。例如,输入3,则打印1, 2, 3, ..., 999
def printToMaxOfNDigits(n):
"""
打印1, 2, ..., 99999(n个9)
可以从1开始然后用大数加法加到n个9,也可以使用递归方法实现
"""
def helper(idx):
# 递归出口就是设置完最后一位
if idx == n - 1:
for j in range(n):
if number[j] != '0':
break
if number[j] == '0':
return
else:
print(''.join(number[j:]))
return
for k in range(10):
# 对于每一位都有10个数字可选,设置完当前位之后就递下去设置下一位,设置完n位就打印
number[idx + 1] = str(k)
helper(idx + 1)
if n < 1:
return
number = ['0'] * n
for i in range(10):
# 对于第1位,有10个数字可选
number[0] = str(i)
helper(0)
以上是“LeetCode怎么打印从1到最大的n位数”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。