当前位置:网站首页>The sword refers to offer17---print the n digits from 1 to the largest
The sword refers to offer17---print the n digits from 1 to the largest
2022-07-31 00:58:00 【Starlight Technician】
打印从1到最大的n位数
题目考点:The original title set the array againINT32的范围内,所以可以直接使用for循环依次求出;But if the value exceeds INT32,就需要使用long型;如果数字比longwhat about bigger;无论是 short / int / long … 任意变量类型,数字的取值范围都是有限的.因此,大数的表示应用字符串 String 类型
- 递归求解1
#include<iostream>
#include<vector>
#include<queue>
using namespace std;
class Solution {
public:
string path = "";
vector<string> res;
vector<char> strs = {
'0','1','2','3','4','5','6','7','8','9'};
void printNums(int n)
{
dfs(0, n);
for (auto str : res)
cout << str << endl;
return;
}
void dfs(int idx, int n)
{
if (path.size() == n)
{
res.push_back(path);
return;
}
for (int i =0; i <= 9; i++)
{
path.push_back(strs[i]);
dfs(i, n);
path.pop_back();
}
}
};
int main()
{
Solution S;
S.printNums(2);
return 0;
}
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
- 递归解法2
#include<iostream>
#include<vector>
#include<queue>
using namespace std;
class Solution {
public:
string path = "";
vector<string> res;
vector<char> strs = {
'0','1','2','3','4','5','6','7','8','9'};
void printNums(int n)
{
res = {
"1","2","3","4","5","6","7","8","9" };
dfs(0, n);
for (auto str : res)
cout << str << endl;
return;
}
//添加第idx个数字,目标长度为n
void dfs(int idx, int n)
{
if (idx==n)
{
res.push_back(path);
return;
}
//第一个数字不能为0
int start = idx == 0 ? 1 : 0;
for (int i =start; i <= 9; i++)
{
path.push_back(strs[i]);
dfs(idx + 1, n);
path.pop_back();
}
}
};
int main()
{
Solution S;
S.printNums(2);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
边栏推荐
猜你喜欢
[Tang Yudi Deep Learning-3D Point Cloud Combat Series] Study Notes
Unity2D horizontal version game tutorial 4 - item collection and physical materials
typescript17 - function optional parameters
typescript11 - data types
Can deep learning solve the parameters of a specific function?
typescript15- (specify both parameter and return value types)
Jmeter parameter transfer method (token transfer, interface association, etc.)
深度学习可以求解特定函数的参数么?
小黑leetcode之旅:104. 二叉树的最大深度
unity2D横版游戏教程4-物品收集以及物理材质
随机推荐
论文理解:“Designing and training of a dual CNN for image denoising“
金融政企被攻击为什么要用高防CDN?
MySQL Series 1: Account Management and Engine
What is Promise?What is the principle of Promise?How to use Promises?
typescript10-常用基础类型
Shell编程之条件语句
响应式布局与px/em/rem的比对
Problem record in the use of TypeScript
Mysql:Invalid default value for TIMESTAMP
【愚公系列】2022年07月 Go教学课程 017-分支结构之IF
unity2D横版游戏教程4-物品收集以及物理材质
typescript11-数据类型
DOM系列之 client 系列
【c语言课程设计】C语言校园卡管理系统
XSS related knowledge
Why use high-defense CDN when financial, government and enterprises are attacked?
background has no effect on child elements of float
【952. Calculate the maximum component size according to the common factor】
ABC 261 F - Sorting Color Balls (reverse pair)
Consistency and Consensus of Distributed Systems (1) - Overview