386. Lexicographical Numbers
来源:互联网 发布:淘宝网首页登录电脑版 编辑:程序博客网 时间:2024/06/02 19:41
Problem
Given an integer n, return 1 - n in lexicographical order.
For example, given 13, return:[1,10,11,12,13,2,3,4,5,6,7,8,9]
.
Please optimize your algorithm to use less time and space. The input size may be as large as 5,000,000
.
Code
class Solution {public: vector<int> lexicalOrder(int n) { vector<int> res; if(n <= 9) { for(int i = 1; i <= n; ++i) res.push_back(i); } else { //如果大于9的时候就按照顺序 递归枚举 for(int i = 1; i <= 9; ++i) { res.push_back(i); dfs(res, i, n); } } return res; } void dfs(vector<int>& res, int start, int n) { int next_num = 10 * start; if(next_num <= n) { //计算差值 ,如果差值超过9那么 就从1-9继续下一层的搜索 int diff_num = n - next_num; diff_num = diff_num > 9 ? 9 : diff_num; for(int i = 0; i <= diff_num; ++i) { int tmp_num = next_num + i; res.push_back(tmp_num); dfs(res, tmp_num, n); } } }};
0 0
- 386. Lexicographical Numbers
- [leetcode] 386. Lexicographical Numbers
- [leetcode]386. Lexicographical Numbers
- 【Leetcode】386. Lexicographical Numbers
- [Leetcode]386. Lexicographical Numbers
- 386. Lexicographical Numbers
- 386. Lexicographical Numbers
- LeetCode 386. Lexicographical Numbers
- 386. Lexicographical Numbers
- 386. Lexicographical Numbers
- 【LeetCode】 386. Lexicographical Numbers
- [leetcode]386. Lexicographical Numbers
- LeetCode 386. Lexicographical Numbers
- LeetCode 386. Lexicographical Numbers
- 386. Lexicographical Numbers
- 386. Lexicographical Numbers
- [LeetCode]386. Lexicographical Numbers
- 386. Lexicographical Numbers
- 常用正则表达式
- shell 中函数返回值的接收
- dwz xheditor编辑器文件上传
- InnoDB行锁、事务还有死锁
- 内存泄漏排查
- 386. Lexicographical Numbers
- C#中的listview选中整行是什么属性?
- php重定向的三种方法
- java内存分配
- anti-Nim题目标准代码
- struts2值栈与action上下文
- H5杂记之 绝对定位 position:absolute;
- 安卓中线程池的概念
- list集合类型,arraylist和vector