最优算法100例之24-打印1到最大的n位数

专栏主页:计算机专业基础知识总结(适用于期末复习考研刷题求职面试)系列文章icon-default.png?t=N7T8https://blog.csdn.net/seeker1994/category_12585732.html

题目描述

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

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

题解报告

最优解法(C):
采用递归,问题类似于数字排列,每个位置可取0-9这10个数字。
void printNumbers(int n){
	if(n < 0) return ;
	char *number = new char[n+1];
	number[n] = '\0';
	for(int i=0; i<10;i++){//第一位依次放0,1...9进行递归 
		number[0] = i+'0';
		PrintNum(number, n, 0);
	}
} 
PrintNum(char *number,int n,int index){
	if(index == n-1){//找到末尾,输出 
		OutputNumber(number);//输出该数 
	}
	for(int i=0; i<10; i++){//继续递归 
		number[index + 1] = i+'0';
		PrintNum(number,n,index + 1);
	} 
}
//输出时保证没有前导0
void OutputNumber(char* number){
	int len = strlen(number);
	bool flag = false;
	for(int i=0;i<len;i++){
		if(!flag && number[i] != '0'){
			flag = true;
		}
		if(flag)
			printf("%c",number[i]);
	}	
} 

专栏主页:计算机专业基础知识总结(适用于期末复习考研刷题求职面试)系列文章icon-default.png?t=N7T8https://blog.csdn.net/seeker1994/category_12585732.html

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-03 06:20:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-03 06:20:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-03 06:20:05       82 阅读
  4. Python语言-面向对象

    2024-04-03 06:20:05       91 阅读

热门阅读

  1. P2404 自然数的拆分问题

    2024-04-03 06:20:05       34 阅读
  2. 四、Mybatis-查询与删除

    2024-04-03 06:20:05       37 阅读
  3. Rust 的 termion 库控制终端光标的位置

    2024-04-03 06:20:05       42 阅读
  4. 亚远景科技-ASPICE评估目的

    2024-04-03 06:20:05       37 阅读
  5. LeetCode热题Hot100 - 正则表达式匹配

    2024-04-03 06:20:05       31 阅读
  6. 关于Mac配置逆向工程

    2024-04-03 06:20:05       35 阅读
  7. 力扣爆刷第110天之CodeTop100五连刷36-40

    2024-04-03 06:20:05       38 阅读
  8. uni-app选择多张图片上传并压缩——2024.04.02

    2024-04-03 06:20:05       35 阅读
  9. 前端|babel升级

    2024-04-03 06:20:05       34 阅读
  10. 【TypeScript系列】与其它构建工具整合

    2024-04-03 06:20:05       36 阅读
  11. GIN实例讲解

    2024-04-03 06:20:05       36 阅读
  12. centos7.9离线安装docker

    2024-04-03 06:20:05       38 阅读