1403. 非递增顺序的最小子序列
Posted panweiwei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1403. 非递增顺序的最小子序列相关的知识,希望对你有一定的参考价值。
思路:
1、降序排列nums;
2、不断从nums中取出最大元素追加到res中,直到res元素的和大于nums;
3、返回res。
1 class Solution(object): 2 def minSubsequence(self, nums): 3 """ 4 :type nums: List[int] 5 :rtype: List[int] 6 """ 7 # 降序排列 8 nums.sort(reverse=True) 9 # 返回值 10 res = [] 11 # 当子序列元素的和大于原list中剩余元素的和时,结束循环 12 while sum(res) <= sum(nums): 13 # 将原list中的最大元素加到res末尾 14 res.append(nums[0]) 15 # 从原list中删除最大元素 16 nums.pop(0) 17 # print(res, nums) 18 return res 19 20 21 if __name__ == ‘__main__‘: 22 solution = Solution() 23 print(solution.minSubsequence(nums=[4, 3, 10, 9, 8]))
以上是关于1403. 非递增顺序的最小子序列的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode Algorithm 1403. 非递增顺序的最小子序列
LeetCode Algorithm 1403. 非递增顺序的最小子序列