leetcode:Lexicographical Numbers

原创 2016年08月28日 14:36:07

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.

Subscribe to see which companies asked this question

给出一个数字n,列出这个数字 1- n内的字典顺序
发现了一个情况
我提交第一份递归代码的时候是没有通过的

public class Solution {
   public List<Integer> lexicalOrder(int n) {
            List<Integer> ans = new LinkedList<>();
            for(int i = 1; i < 10; ++i)
                order(n, i, ans);
            return ans;
    }

     public void order(int n, int base, List<Integer> list){
         if(base > n){
             return;
         }
         list.add(base);
         for(int i = 0; i < 10; ++i){
             order(n, base * 10 + i,list);
         }
     }
}

当改成static类变量的时候通过了

public class Solution {
   static List<Integer> ans = new LinkedList<>();
   public List<Integer> lexicalOrder(int n) {
        ans.clear();
        for(int i = 1; i < 10; ++i)
            order(n, i, ans);
        return ans;
    }

     public void order(int n, int base, List<Integer> list){
         if(base > n){
             return;
         }
         list.add(base);
         for(int i = 0; i < 10; ++i){
             order(n, base * 10 + i, list);
         }
     }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

LeetCode 386 Lexicographical Numbers

Given an integer n, return 1 - n in lexicographical order. For example, given 13, return: [1,10,1...
  • niuooniuoo
  • niuooniuoo
  • 2016年08月26日 21:09
  • 677

LeetCode笔记:386. Lexicographical Numbers

将n个数字在限定时间内排序成词典顺序
  • Cloudox_
  • Cloudox_
  • 2017年04月18日 09:16
  • 805

LeetCode—386. Lexicographical Numbers

Lexicographical Numbers思路:最直观的思路就是分治,但是太无趣了。直接上计数。 把每个数当做11进制来看,先确定好数的范围,根据n可以知道最大为k位数,然后把每个数都转成1...
  • corpsepiges
  • corpsepiges
  • 2016年08月22日 15:05
  • 1507

Lexicographical Numbers

题目描述: Given an integer n, return 1 - n in lexicographical order. For example, given 13, return: ...
  • yeshiwu
  • yeshiwu
  • 2016年08月30日 10:43
  • 756

386. Lexicographical Numbers

ProblemGiven an integer n, return 1 - n in lexicographical order.For example, given 13, return:[1,10...
  • lqcsp
  • lqcsp
  • 2016年08月21日 16:28
  • 1003

leetcode 386. Lexicographical Numbers 解题报告

原题链接原题链接解题思路用函数栈(递归)用来去完成字典序排序。解题代码public class Solution { public List lexicalOrder(int n) { ...
  • jly0612
  • jly0612
  • 2016年09月02日 20:04
  • 621

leetcode oj java 386. Lexicographical Numbers

一、问题描述: Given an integer n, return 1 - n in lexicographical order. For example, given 13, re...
  • u011060119
  • u011060119
  • 2017年01月14日 10:26
  • 109

[Leetcode]386. Lexicographical Numbers

[Leetcode]386. Lexicographical Numbers
  • zqh_1991
  • zqh_1991
  • 2016年10月04日 07:47
  • 312

LeetCode 386. Lexicographical Numbers

描述合并两个已经排序了的数组解决从后往前遍历class Solution { public: void merge(vector& nums1, int m, vector& nums2, i...
  • MrSiz
  • MrSiz
  • 2016年11月08日 14:04
  • 160

[leetcode]386. Lexicographical Numbers

字典顺序输出n个integer
  • u011934885
  • u011934885
  • 2016年09月13日 12:35
  • 186
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetcode:Lexicographical Numbers
举报原因:
原因补充:

(最多只允许输入30个字)