LeetCode如何解决打印从1到最大的n位数问题
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,小编给大家分享一下LeetCode如何解决打印从1到最大的n位数问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!题目输入
千家信息网最后更新 2025年01月24日LeetCode如何解决打印从1到最大的n位数问题
小编给大家分享一下LeetCode如何解决打印从1到最大的n位数问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
题目
输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。
示例 1:
输入: n = 1输出: [1,2,3,4,5,6,7,8,9]
说明:
用返回一个整数列表来代替打印n 为正整数
代码
class Solution { public int[] printNumbers(int n) { int num = (int)Math.pow(10,n) - 1; int[] res = new int[num]; for(int i = 0; i < num; i++){ res[i] = i+1; } return res; }}
大数打印
class Solution { int[] res; int nine = 0, count = 0, start, n; char[] num, loop = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'}; public int[] printNumbers(int n) { this.n = n; res = new int[(int)Math.pow(10, n) - 1]; num = new char[n]; start = n - 1; dfs(0); return res; } void dfs(int x) { if(x == n) { String s = String.valueOf(num).substring(start); if(!s.equals("0")) res[count++] = Integer.parseInt(s); if(n - start == nine) start--; return; } for(char i : loop) { if(i == '9') nine++; num[x] = i; dfs(x + 1); } nine--; }}
以上是"LeetCode如何解决打印从1到最大的n位数问题"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
最大
位数
篇文章
输入
问题
内容
整数
不怎么
代码
十进制
大数
大部分
数字
更多
知识
示例
行业
资讯
资讯频道
顺序
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
黄浦区常规网络技术服务参考价格
公众号商城服务器需要多大
易语言数据库操作sql
俄乌网络安全战战术
政府网络安全知识竞赛答案
图像和音乐分布在服务器的哪里
北京通博网络技术有限公司
上海升道网络技术有限公司
软件的后台数据库保护
山西pdu服务器专用电源排行榜
数据库实训小组评语
计算机网络技术课程女生
软件开发ppt模板下载
新闻 网络安全防护
企业内部网络安全防护
宿迁软件开发商
ad数据库如何建表
怎么开机禁止服务器管理器
笑傲江湖服务器查询
丰台服务器回收报价单
网络安全与执法教材
库存幂等数据库
青春济南网络安全
计算机网络技术发展背景
青少年网络安全知识锦囊请收好
厦门共享汽车软件开发
诺龙服务器
xss圣歌一直连接服务器
bde数据库驱动
江苏服务器机柜质量好不好