关于java:offer-17-打印从1到最大的n位数

打印从1到最大的n位数

题目剖析

首先得定义一个数组,而后依据输出的n来判断数组的长度,而后给数组元素赋值

题解


实际上,本题的次要考点是大数越界状况下的打印。须要解决以下三个问题:

  • 示意大数的变量类型:
    无论是 short / int / long … 任意变量类型,数字的取值范畴都是无限的。因而,大数的示意利用字符串 String 类型。
  • 生成数字的字符串集:
  • 递归生成全排列
    基于分治算法的思维,先固定高位,向低位递归,当个位已被固定时,增加数字的字符串。例如当 n = 2n=2 时(数字范畴 1 – 991−99 ),固定十位为 00 – 99 ,按程序顺次开启递归,固定个位 00 – 99 ,终止递归并增加数字字符串。

题解


没看懂参考

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理