LeetCode每日一题——386. 字典序排数

简介: 给你一个整数 n ,按字典序返回范围 [1, n] 内所有整数。

题目

给你一个整数 n ,按字典序返回范围 [1, n] 内所有整数。

你必须设计一个时间复杂度为 O(n) 且使用 O(1) 额外空间的算法。

示例

示例 1:

输入:n = 13 输出:[1,10,11,12,13,2,3,4,5,6,7,8,9]

示例 2:

输入:n = 2 输出:[1,2]

思路

由于之前写过本题,投机取巧的做法是python中对字符串的比较默认就是按照字典序比较,直接调函数就能实现。

题解

def lexicalOrder(self, n: int) -> List[int]:
        return list(map(int,sorted([i for i in range(1,n+1)], key=str)))
目录
相关文章
|
7月前
leetcode-440:字典序的第K小数字
leetcode-440:字典序的第K小数字
42 0
|
6月前
|
机器学习/深度学习 存储 算法
Python5种算法回溯+剪枝、字典序、递归交换、计数回溯、迭代法 实现全排列ll【力扣题47】
Python5种算法回溯+剪枝、字典序、递归交换、计数回溯、迭代法 实现全排列ll【力扣题47】
|
6月前
|
存储
力扣-2904最短且字典序最小的美丽子序列
力扣-2904最短且字典序最小的美丽子序列
40 1
|
6月前
|
存储 机器学习/深度学习 算法
python 3种算法 回溯法、字典序生成、递归交换 实现全排列【力扣46题】
python 3种算法 回溯法、字典序生成、递归交换 实现全排列【力扣46题】
|
7月前
|
Java
2697. 字典序最小回文串 --力扣 --JAVA
给你一个由 小写英文字母 组成的字符串 s ,你可以对其执行一些操作。在一步操作中,你可以用其他小写英文字母 替换  s 中的一个字符。 请你执行 尽可能少的操作 ,使 s 变成一个 回文串 。如果执行 最少 操作次数的方案不止一种,则只需选取 字典序最小 的方案。 对于两个长度相同的字符串 a 和 b ,在 a 和 b 出现不同的第一个位置,如果该位置上 a 中对应字母比 b 中对应字母在字母表中出现顺序更早,则认为 a 的字典序比 b 的字典序要小。 返回最终的回文字符串。
52 0
2697. 字典序最小回文串 --力扣 --JAVA
|
7月前
|
Go
golang力扣leetcode 386.字典序排数
golang力扣leetcode 386.字典序排数
41 0
|
7月前
|
Go
golang力扣leetcode 440.字典序的第K小数字
golang力扣leetcode 440.字典序的第K小数字
41 0
|
算法 C++ Python
每日算法系列【LeetCode 386】字典序排数
每日算法系列【LeetCode 386】字典序排数
|
算法
LeetCode——386. 字典序排数
LeetCode——386. 字典序排数
81 0