440. 字典序的第K小数字
https://leetcode-cn.com/problems/k-th-smallest-in-lexicographical-order/
解法一:dfs暴力(超时)
先dfs回溯法求出字典序数组,然后返回k-1号元素:
class Solution:
def findKthNumber(self, n: int, k: int) -> int:
self.nums = []
for i in range(1, 10): #第一位不能为0
self.dfs(i, n) #从第二位开始dfs回溯
return self.nums[k-1]
def dfs(self, cur, n):
if cur > n: #超出则剪枝
return
self.nums.append(cur)
cur = cur * 10
for i in range(10):
self.dfs(cur + i, n)解法二:
参考
最后更新于