代码编织梦想

题目所属分类

暴力+分治的思想

原题链接

输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。

代码案例:输入: n = 1
输出: [1,2,3,4,5,6,7,8,9]

题解

暴力解法

class Solution {
    public int[] printNumbers(int n) {
        int end = (int)Math.pow(10, n) - 1;
        int[] res = new int[end];
        for(int i = 0; i < end; i++)
            res[i] = i + 1;
        return res;
    }
}

分治的思想

class Solution {
    StringBuilder res;
    int count = 0, n;
    char[] num, loop = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
    public String printNumbers(int n) {
        this.n = n;
        res = new StringBuilder(); // 数字字符串集
        num = new char[n]; // 定义长度为 n 的字符列表
        dfs(0); // 开启全排列递归
        res.deleteCharAt(res.length() - 1); // 删除最后多余的逗号
        return res.toString(); // 转化为字符串并返回
    }
    void dfs(int x) {
        if(x == n) { // 终止条件:已固定完所有位
            res.append(String.valueOf(num) + ","); // 拼接 num 并添加至 res 尾部,使用逗号隔开
            return;
        }
        for(char i : loop) { // 遍历 ‘0‘ - ’9‘
            num[x] = i; // 固定第 x 位为 i
            dfs(x + 1); // 开启固定第 x + 1 位
        }
    }
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41810415/article/details/128008387

剑指Offer:面试题17——打印从1到最大的n位数(java)-爱代码爱编程

文章目录 打印从1到最大的n位数问题描述问题分析算法思路一:字符数组模拟算法思路二(全排列)总结 打印从1到最大的n位数 问题描述 问题分析 首先这道题肯定是不会让你用最简单的循环去做的,但是为什么不能用循环呢?因为这道题并没有说不考虑大数的限制,也就是说使用int或者long可能会导致溢出所以对于大数的情况,我们一般都是用字符数组去

剑指 Offer 17. 打印从1到最大的n位数java题解-爱代码爱编程

https://leetcode-cn.com/problems/da-yin-cong-1dao-zui-da-de-nwei-shu-lcof/solution/mian-shi-ti-17-da-yin-cong-1-dao-zui-da-de-n-wei-2/ 1.遇到n位整数,考虑大数 还不是很懂start。。。 代码 public cl

剑指 Offer 17. 打印从1到最大的n位数(考虑大数问题) java-爱代码爱编程

题目描述 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 注:leetcode上该题标记为简单,并未考虑大数情况 解题思路 n 位数的每一位上都是从 0 到 9 的全排列,我们可以使用递归方法将数字的每一位都从 0 到9 排列一遍,从而得到所有十进制数。递归结束的条件

【剑指offer刷题笔记】17.打印从1到最大到n位数-爱代码爱编程

剑指No.17_打印从1到最大到n位数 题目:输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 示例:输入: n = 1 输出: [1,2,3,4,5,6,7,8,9] 初见本题很容易产生通过遍历生成数组的思路,事实上这种思路效率并不很低,并且能够通过测试,但是却忽

【Java题解】剑指 Offer 17. 打印从1到最大的n位数-爱代码爱编程

输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 示例 1: 输入: n = 1 输出: [1,2,3,4,5,6,7,8,9] 说明: 用返回一个整数列表来代替打印 n 为正整数 方法一: 经过分析,是打印,1-10^n - 1之间的数

《LeetCode力扣练习》剑指 Offer 17. 打印从1到最大的n位数 Java-爱代码爱编程

《LeetCode力扣练习》剑指 Offer 17. 打印从1到最大的n位数 Java 一、资源 题目: 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 示例 1: 输入: n = 1 输出: [1,2,3,4,5,6,7,8,9] 说明: 用返回一个整数列表来代替打印

程序员:世界杯梅西首战,我在工位看球被领导抓到了...... 丨黑马头条_传智播客的博客-爱代码爱编程

大家好,我是播妞 最近我的朋友圈被“世界杯”刷屏了 上次看见那么多男生发圈 还是在EDG夺冠 ...... 相关段子也是层出不穷 听说,有的网友家电视已经这样了 ↓↓↓ △ 图源网络(如侵删) 言归正传 又到了每周的《黑马头条》时间 和播妞一起来看看吧  程序员在看什么? · 京东高管降薪,基层福利提升 近日,京东

metabase学习教程:视图-4_metabasecn的博客-爱代码爱编程

将数据可视化为直方图 学习何时使用直方图,以及元数据库如何使创建直方图更容易。 我们将逐步创建直方图,它是一种条形图,显示连续范围内的数据组。柱状图有助于深入了解人们可能购买的商品的数量、他们可能购买的价格范围,甚至是大多数人购买商品的时间。 直方图与条形图 直方图是条形图。虽然典型条形图上的条形图表示类别组,但柱状图上的条形图表示沿连续可量化频谱

2022大厂面试秘籍java岗:中间件+算法+http+线程+虚拟机+分布式_啊码的博客-爱代码爱编程

前言 很多朋友对面试不够了解,不知道如何准备,对面试环节的设置以及目的不够了解,因此成功率不高。通常情况下校招生面试的成功率低于1%,而社招的面试成功率也低于5%,所以对于候选人一定要知道设立面试的初衷以及每个环节的意义,

【csdn竞赛】第十期解题报告_icehomegre的博客-爱代码爱编程

文章目录 感想关于自己关于平台 第一题 (难度:入门)题目描述100分做法 第二题 (难度:简单)题目描述100分做法 第三题 (难度:中等/困难)题目描述100分做法1(对应中等)10

剑指 offer 17. 打印从1到最大的n位数-爱代码爱编程

剑指 Offer 17. 打印从1到最大的n位数 题目描述: 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 示例: 输入: n = 1 输出: [1,2,3,4,5,6,7,8,9] 说明: 用返回一个整数列表来代替打印 n 为正整数

【剑指offer】17. 打印从1到最大的n位数-爱代码爱编程

题目-剑指 Offer 17. 打印从1到最大的n位数 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 题解  使用字符串表示数字的时候

小学生python游戏编程arcade-爱代码爱编程

小学生python游戏编程arcade----碰撞精灵消失问题 前言碰撞精灵消失问题1、多余的精灵不能及时消失1.1 问题1.2 失败代码1.3 记录备忘1.4 代码实现 2、放置位置2.1 代码放在

itext7高级教程之html2pdf——5.自定义标签和css应用_xmlworker 和 html2pdf-爱代码爱编程

作者:CuteXiaoKe 微信公众号:CuteXiaoKe   在本章中,我们将更改pdfHTML插件的两个最重要的内部机制。 我们将覆盖将HTML标签与iText对象匹配的默认功能,更具体地说是Defaul

kubelet源码 删除pod pod_workers.go(三)_kubelet[1067]: e0727 17:10:59.106543 1067 pod_work-爱代码爱编程

kubelet源码 删除pod pod_workers.go(三) 上篇中UpdatePod函数结束,然后进入managePodLoop函数。 UpdatePod负责对pod的状态流程进行更新,对pod状态的标记 mana