1. 题目

给定一个整数 n, 返回从 1 到 n 的字典顺序。

例如,
给定 n =1 3,返回 [1,10,11,12,13,2,3,4,5,6,7,8,9] 。
请尽可能的优化算法的时间复杂度和空间复杂度。 输入的数据 n 小于等于 5,000,000。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/lexicographical-numbers
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

class Solution {public:vector<int> lexicalOrder(int n) {vector<int> ans(n); //n=1000int cur = 1;for(int i = 0; i < n; ++i){ans[i] = cur;if(cur*10 <= n)cur *= 10;         //1,10,100,1000else{if(cur >= n)     //1000cur /= 10;cur += 1;            //101。。。109while(cur%10 == 0) //110cur /= 10;        //11}}return ans;}
};
n = 1000
[1,10,100,1000,101,102,103,104,105,106,107,108,109,
11,110,111,112,113,114,115,116,117,118,119,12,120,
121,122,123,124,125,126,127,128,129,13,130,131,132,
133,134,135,136,137,138,139,14,140,141,142,143,144,
145,146,147,148,149,15,150,151,152,153,154,155,156,
157,158,159,16,160,161,162,163,164,165,166,167,168,.
class Solution {vector<int> ans;
public:vector<int> lexicalOrder(int n) {for(int i=1; i<=9; i++)dfs(i, n);return ans;}void dfs(int cur, int n){if(cur > n)return;ans.push_back(cur);for(int i=0;i<10;i++){if(10*cur + i > n)return;dfs(10*cur+i, n);}}
};

LeetCode 386. 字典序排数(DFS循环)相关推荐

  1. LeetCode Algorithm 386. 字典序排数

    386. 字典序排数 Ideas 字典序排序嘛,先生成一个数字数组,然后转成字符串类型,再排一下序,之后再转回整数数组,return就可以了. Code Python from typing impo ...

  2. leetcode 386. Lexicographical Numbers | 386. 字典序排数(Java)

    题目 https://leetcode.com/problems/lexicographical-numbers/ 题解 思路:先序遍历 10 叉树,参考:Simple Java DFS Soluti ...

  3. Leetcode每日一题386. 字典序排数

  4. LeetCode 字典序排数(最优解法,不接受反驳)

    给定一个整数 n, 返回从 1 到 n 的字典顺序. 例如, 给定 n = 13,返回 [1,10,11,12,13,2,3,4,5,6,7,8,9] . 请尽可能的优化算法的时间复杂度和空间复杂度. ...

  5. leetcode-386 字典序排数

    给定一个整数 n, 返回从 1 到 n 的字典顺序. 例如, 给定 n =13,返回 [1,10,11,12,13,2,3,4,5,6,7,8,9] . 请尽可能的优化算法的时间复杂度和空间复杂度. ...

  6. LeetCode实战:两数相加

    题目英文 You are given two non-empty linked lists representing two non-negative integers. The digits are ...

  7. LeetCode 1088. 易混淆数 II(回溯/BFS)

    文章目录 1. 题目 2. 解题 2.1 回溯 2.2 BFS 1. 题目 本题我们会将数字旋转 180° 来生成一个新的数字. 比如 0.1.6.8.9 旋转 180° 以后,我们得到的新数字分别为 ...

  8. leetcode No.15-16 三数之和相关问题

    leetcode 15. 三数之和 题目 链接:https://leetcode-cn.com/problems/3sum 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 ...

  9. leetcode系列--18.四数之和

    leetcode系列–18.四数之和 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target .请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], ...

最新文章

  1. 使用ImageMagick 的提示与技巧
  2. win10计算机无限弹网页,win10系统浏览网页时频繁弹出广告怎么办 Window10阻止网页弹出广告的四种方法...
  3. 【代码】CyclicBarrier栅栏使用示例
  4. linux常见分区格式,linux 分区格式
  5. java开发中实际遇到的问题总结_内行总结:装修中最容易遇到的16个问题及其解决方式!...
  6. android日期选择滚轮框架,GitHub - liwenzhi/wheelview: 滚轮效果的View,日期选择器
  7. C++笔记-lambda表达式需要注意的地方
  8. Android播放器框架分析之AwesomePlaye
  9. Spring Cloud 微服务实战系列-Ribbon整合RestTemplate实现负载均衡
  10. linux 脚本 等待,shell tel脚本中执行等待实现
  11. Android USB AUDIO初步分析
  12. 孙鑫VC学习笔记:第十三讲 (三) WM_FILE_NEW消息响应原理
  13. C++ | Qt编译DLL
  14. 软件工程期末考试超全试题库(含答案 和解析)
  15. 什么是索引,索引的作用,什么时候需要使用索引,什么时候不需要使用索引
  16. CentOS7 建立静态 IP(eth0)
  17. 锂离子电池热失控的机理
  18. 地图切片的概念与原理
  19. python3问题-python多线程
  20. 域名升级访问中拿笔记好_域名选择与老域名质量评分,尽量少踩坑

热门文章

  1. 如何用css和HTML结合画熊,结合伪元素实现的纯CSS3高级图形绘制
  2. 纽曼皮尔逊准则Matlab实现,纽曼-皮尔逊准则,Neyman Pearson Criterion,在线英语词典,英文翻译,专业英语...
  3. C语言宏定义中UL的含义
  4. 在mybatis中resultMap与resultType的区别
  5. 运行Myeclipse发生这事这是怎么回事,大神们
  6. 网络资源-深入剖析Binding2(学习)
  7. Readonly 与Const
  8. 看看大神是如何计算32位数中‘1’的个数
  9. C语言,画吃豆人剖析
  10. Android studio JNI jni实例