当前位置:网站首页>leetcode题目--386.字典序排数,DFS
leetcode题目--386.字典序排数,DFS
2022-04-21 06:40:00 【emo~~~~】
题目链接:
386. 字典序排数 - 力扣(LeetCode) (leetcode-cn.com)
https://leetcode-cn.com/problems/lexicographical-numbers/
s回首先我们需要搞清楚字典序是什么:
在数学中,字典或词典顺序(也称为词汇顺序,字典顺序,字母顺序或词典顺序)是基于字母顺序排列的单词按字母顺序排列的方法。 这种泛化主要在于定义有序完全有序集合(通常称为字母表)的元素的序列(通常称为计算机科学中的单词)的总顺序。
对于数字1、2、3......n的排列,不同排列的先后关系是从左到右逐个比较对应的数字的先后来决定的。例如对于5个数字的排列 12354和12345,排列12345在前,排列12354在后。按照这样的规定,5个数字的所有的排列中最前面的是12345,最后面的是 54321。
--百度百科
说的什么我也听不懂,反正就是
对于字符,顺序是a,b,c,d
对于数字:按照一下规则生成:

(--leetcode官方题解)
搞清楚了这一点,这一题就是一个简单的DFS了,上代码;
void DFS(vector<int>& ans, int n,int number)
{
ans.push_back(number);
if (ans.size() == n)
return;
if (number * 10 <= n)
{
DFS(ans, n, number * 10);
}
else
{
while (number + 1 > n || number % 10 == 9)
{
number /= 10;
}
DFS(ans, n, number + 1);
}
}
vector<int> lexicalOrder(int n) {
vector<int>ans;
DFS(ans, n, 1);
return ans;
}
int main()
{
int n = 0;
cin >> n;
vector<int>ans = lexicalOrder(n);
for (int i = 0; i < ans.size(); i++)
{
cout << ans[i] << " ";
}
return 0;
}
希望和诸君共勉
版权声明
本文为[emo~~~~]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_61567032/article/details/124260114
边栏推荐
- delphi的json类:SuperObject,以及简单用法jsonHelper
- div点击折叠收缩
- SHA256 Hashes
- Defer
- Relationship between application software threads and CPU cores
- Environment Variables
- leetcode 707.设计链表
- When deploying. Net core on Linux platform to access SQL Server 2008 R2, it prompts the connection timeout exception
- leetcode 59.螺旋矩阵Ⅱ
- leetcode 19. Delete the penultimate node of the linked list
猜你喜欢
随机推荐
Sorting
根据二维数组某个字段的值查找数组
Enterprise service bus -- Introduction to muleesb
PHP去除字符串开头或末尾逗号
leetcode 206.反转链表
西方的二分法和东方的三分法
GoLang学习资源清单
第五站孔孟之乡-----------走迷宫之最短路径
标准函数返回值iResult
Swagger的用法以及常用注解解释
批量压缩文件夹里的sql备份bak为rar,然后删除3天之前的rar
XML encoding and decoding
服务器基本的安全防护设置
laravel 打印sql
leetcode 704·二分查找
leetcode 19. Delete the penultimate node of the linked list
瑞萨IDE:CS+ for CC进行BootLoader升级时开发环境配置
leetcode 707.设计链表
php 判断是不是同一个月
PLSQL developer 14 installation details









