欢迎光临散文网 会员登陆 & 注册

Leetcode Day14 2

2022-04-18 15:44 作者:我喜欢喝一点点  | 我要投稿

386. 字典序排数

给你一个整数 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]


class Solution:

    def lexicalOrder(self, n: int) -> List[int]:

        res=[0]*n

        num=1

        for i in range(n):

            res[i]=num

            if num*10<=n:

                num*=10

            else:

                while num%10==9 or num+1>n:

                    num//=10

                num+=1

        return res

# 判断边界条件,先看*10是否满足条件,满足则进位,不满足则+1,+1的前提是不为9或不超距


Leetcode Day14 2的评论 (共 条)

分享到微博请遵守国家法律