zoukankan      html  css  js  c++  java
  • 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]))
  • 相关阅读:
    MySQL
    MySQL -数据库备份
    MySQL
    MySQL
    MySQL
    MySQL
    MySQL
    MySQL
    MySQL
    53端口反弹shell
  • 原文地址:https://www.cnblogs.com/panweiwei/p/12723284.html
Copyright © 2011-2022 走看看