386. 字典序排数

Posted dreamkill

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了386. 字典序排数相关的知识,希望对你有一定的参考价值。

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

例如,

给定 n =1 3,返回 [1,10,11,12,13,2,3,4,5,6,7,8,9] 。

请尽可能的优化算法的时间复杂度和空间复杂度。 输入的数据 n 小于等于 5,000,000。

vector<int>ans;
class Solution {
public:
    void dfs(int id,int maxx){
         if(id>maxx)return ;
         ans.push_back(id);
         dfs(id*10,maxx);
         if((id+1)%10==0)return ;
         dfs(id+1,maxx);
    }
    vector<int> lexicalOrder(int n) {
        ans.clear();
        dfs(1,n);
        return ans;
    }
};

  

以上是关于386. 字典序排数的主要内容,如果未能解决你的问题,请参考以下文章

386. 字典序排数(中等)-迭代-全排列

(Java) LeetCode 386. Lexicographical Numbers —— 字典序排数

LeetCode 386 字典序排数[dfs 字典树] HERODING的LeetCode之路

LeetCode 386. 字典序排数 / 821. 字符的最短距离 / 388. 文件的最长绝对路径

使用DFS来解决“字典序排数”问题

使用DFS来解决“字典序排数”问题