Skip to content

Latest commit

 

History

History
46 lines (30 loc) · 1.14 KB

386-lexicographical-numbers.md

File metadata and controls

46 lines (30 loc) · 1.14 KB

386. Lexicographical Numbers - 字典序排数

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

例如,

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

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


题目标签:

题目链接:LeetCode / LeetCode中国

题解

Language Runtime Memory
cpp 84 ms 1.9 MB
class Solution {
public:
    void dfs(vector<int>& res, int n, int st) {
        if (st > n) return;
        for (int i = st; i <= n && i / 10 == st / 10; ++i) {
            res.push_back(i);
            dfs(res, n, i * 10);
        }
    }

    vector<int> lexicalOrder(int n) {
        vector<int> res;
        dfs(res, n, 1);
        return res;
    }
};