当前位置:网站首页>leetcode 剑指 Offer 17. 打印从1到最大的n位数
leetcode 剑指 Offer 17. 打印从1到最大的n位数
2022-08-09 14:00:00 【kt1776133839】
题目描述:
输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。
样例:
示例 1:
输入: n = 1
输出: [1,2,3,4,5,6,7,8,9]
说明:
用返回一个整数列表来代替打印
n 为正整数
Java程序:
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--;
}
}
边栏推荐
猜你喜欢
随机推荐
几种常见的注册中心以及区别
阿里云发布中国云原生数据湖应用洞察白皮书
*2-2 OJ 1163 导弹拦截之测试版
小程序制作软件哪个好用?如何选择?
[Video coding learning] - SAD and SATD
*2-4 每日温度 *2-5 接雨水
[MRCTF2020]套娃-1
新起之秀 DPU,正在掀起数据中心变革!
从零开始Blazor Server(9)--修改Layout
宁夏等保测评机构有哪些?如何选择?
下班后用微信工作发病是否属于工伤?法院这样判
湖仓一体,Hologres加速云数据湖DLF技术原理解析
*1-3 OJ 291 The mouse and cat trade
从软件哲学角度谈 Amazon SageMaker(第一讲)
#23-5 OJ 86 杨辉三角形
同事的接口文档我每次看着就头大,毛病是真的多多多。。。
大规模并行分布式深度学习
YOLOv5网络详解
CTF problem solution five Web PHP Dafa (experiment)
测试研发的人数科学比例









