码迷,mamicode.com
首页 > 其他好文 > 详细

1403. 非递增顺序的最小子序列

时间:2020-04-18 00:01:40      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:技术   turn   min   大于   思路   soft   返回值   元素   end   

技术图片

 

 技术图片

 

 技术图片

 技术图片

 

思路:
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. 非递增顺序的最小子序列

标签:技术   turn   min   大于   思路   soft   返回值   元素   end   

原文地址:https://www.cnblogs.com/panweiwei/p/12723284.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!