程序,在Python中找到大小为k的字典上最小的子序列

假设我们有一个称为nums和另一个值k的数字列表,我们必须找到字典上大小为k的最小子序列。

因此,如果输入像nums = [2,3,1,10,3,4] k = 3,那么输出将是[1、3、4]

范例(Python)

让我们看下面的实现以更好地理解-

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]

猜你喜欢