386. Lexicographical Numbers 把1--n按字典序排序
https://leetcode.com/problems/lexicographical-numbers/description/
前20个是
1, 10, 11, 12, 13, 14, .....19 2, 20, 3, 4, 5, 6, ....9
class Solution {
public:
    vector<int> lexicalOrder(int n) {
        vector<int> ans;
        int cur = 1;
        for (int i = 1; i <= n; ++i) {
            ans.push_back(cur);
            if (cur * 10 <= n) {
                cur *= 10;
            } else if (cur % 10 != 9 && cur + 1 <= n) {
                cur++;
            } else {
                cur += 10;
                cur -= cur % 10;
                while (cur % 10 == 0) cur /= 10;
            }
        }
        return ans;
    }
};
386. Lexicographical Numbers 把1--n按字典序排序的更多相关文章
- 【LeetCode】386. Lexicographical Numbers 解题报告(Python)
		
[LeetCode]386. Lexicographical Numbers 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博 ...
 - 386 Lexicographical Numbers 字典序排数
		
给定一个整数 n, 返回从 1 到 n 的字典顺序.例如,给定 n =1 3,返回 [1,10,11,12,13,2,3,4,5,6,7,8,9] .请尽可能的优化算法的时间复杂度和空间复杂度. 输入 ...
 - LeetCode - 386. Lexicographical Numbers
		
Given an integer n, return 1 - n in lexicographical order. For example, given 13, return: [1,10,11,1 ...
 - 386. Lexicographical Numbers 输出1到n之间按lexico排列的数字序列
		
[抄题]: Given an integer n, return 1 - n in lexicographical order. For example, given 13, return: [1,1 ...
 - 386. Lexicographical Numbers
		
用DFS来做,先弄开头是1的,再弄开头是1的里面开头是1的,再开头是1的里面开头是1的里的开头是1的,再... 是吧-- 比N大了BREAK就行. 注意第一个循环是1-9,往后的循环是0-9. pub ...
 - 【java】java反射机制,动态获取对象的属性和对应的参数值,并属性按照字典序排序,Field.setAccessible()方法的说明【可用于微信支付 签名生成】
		
方法1:通过get()方法获取属性值 package com.sxd.test.controller; public class FirstCa{ private Integer num; priva ...
 - Leetcode 385.字典序排序
		
字典序排序 给定一个整数 n, 返回从 1 到 n 的字典顺序. 例如, 给定 n =1 3,返回 [1,10,11,12,13,2,3,4,5,6,7,8,9] . 请尽可能的优化算法的时间复杂度和 ...
 - 微信支付MD5签名算法C#版,ASCII码字典序排序0,A,B,a,b
		
/// <summary> /// 微信支付MD5签名算法,ASCII码字典序排序0,A,B,a,b /// </summary> /// <param name=&qu ...
 - [Swift]LeetCode386. 字典序排数 | Lexicographical Numbers
		
Given an integer n, return 1 - n in lexicographical order. For example, given 13, return: [1,10,11,1 ...
 
随机推荐
- WordCount-软件测试初体验
			
github:https://github.com/skz12345/WordCount PSP2.1 PSP阶段 预估耗时(分钟) 实际耗时(分钟) Planning 计划 40 60 · Esti ...
 - android自定义视图属性(atts.xml,TypedArray)学习
			
是一个用于存放恢复obtainStyledAttributes(AttributeSet, int[], int, int)或 obtainAttributes(AttributeSet, int[] ...
 - CodeForces 141C Queue (构造)
			
题意:n 个人在排队,然后给出每个人的前面比他身高高的人的数量hi,让你给出一种排列,并给出一种解. 析:首先,hi 小的要在前面,所以先进行排序,然后第一个人的 h1 必须为0,我们可以令身高为 1 ...
 - 小小c#算法题 - 7 - 堆排序 (Heap Sort)
			
在讨论堆排序之前,我们先来讨论一下另外一种排序算法——插入排序.插入排序的逻辑相当简单,先遍历一遍数组找到最小值,然后将这个最小值跟第一个元素交换.然后遍历第一个元素之后的n-1个元素,得到这n-1个 ...
 - 2013蓝桥杯JavaA组T10 大臣的旅费(树的直径)
			
大臣的旅费 时间限制:1.0s 内存限制:256.0MB 问题描述 很久以前,T王国空前繁荣.为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市. 为节省经费,T国的大 ...
 - c#委托与事件、消息、WndProc用法(转)
			
c#委托与事件 心得 c#用委托来实现事件通知机制.委托相当与c++函数指针.整个过程涉及一个呼叫者,一个被呼叫者,还有就是这个委托. - 实现步骤有以下几步: 1. 申明委托, 2.定义呼叫者和调用 ...
 - Unity串口通信
			
一.串口简介 串行接口(串口)通常指COM接口,是采用串行通信方式的扩展接口.串口按位(bit)发送和接收字节.尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接 ...
 - Data Base  oracle简单使用及管理工具使用
			
oracle简单使用及管理工具使用 一.常用工具: 1.sqldeveloper 2.navicat for oracle 3.PLSQL Developer 4.toad
 - 20164305 徐广皓 Exp6 信息搜集与漏洞扫描
			
信息搜集技术与隐私保护 间接收集 无物理连接,不访问目标,使用第三方信息源 使用whois/DNS获取ip 使用msf中的辅助模块进行信息收集,具体指令可以在auxiliary/gather中进行查询 ...
 - [poj 1185] 炮兵阵地  状压dp 位运算
			
Description 司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队.一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示),也可能是平原(用&quo ...