假设我们有一个称为nums和另一个值k的数字列表,我们必须找到字典上大小为k的最小子序列。
因此,如果输入像nums = [2,3,1,10,3,4] k = 3,那么输出将是[1、3、4]
让我们看下面的实现以更好地理解-
class Solution: def solve(self, nums, k): l, r = len(nums), k - 1 out = [] for j in range(k): mn = nums[~r] for i in range(r, l): if mn >= nums[~i]: mn = nums[~i] l = i r -= 1 out.append(mn) return out ob = Solution() nums = [2, 3, 1, 10, 3, 4] k = 3 print(ob.solve(nums, k))
[2, 3, 1, 10, 3, 4], 3输出结果
[1, 3, 4]