1. 程式人生 > 其它 >Leetcode 440 字典序的第k小數字

Leetcode 440 字典序的第k小數字

技術標籤:leetcodepython演算法

Leetcode 440 字典序的第k小數字


給定整數 n 和 k,找到 1 到 n 中字典序第 k 小的數字。

def findKthNumber(self, n: int, k: int) -> int:
        #十叉樹求解
        def cal_steps(n,n1,n2):
            step=0
            while n1<=n:
                step+=min(n2,n+1)-n1
                n1*=10
                n2*=
10 return step cur=1 k-=1 while k>0: steps=cal_steps(n,cur,cur+1) if steps<=k: k-=steps cur+=1 else: k-=1 cur*=10 return cur