当前位置:   article > 正文

力扣-2600-k件物品最大和(python)_leetcode2600-python

leetcode2600-python

题目描述

在这里插入图片描述

算法思想:

1、如果k<=numOnes,则最大值就是全拿第一个,即为k
2、如果numOnes<k<=numZeros,则最多拿numOnes个值,即为numOnes
3、如果numZeros<k<=numNegOnes,则最多有numOnes个1,numZeros个0,k-numZeros-numOnes个-1,即为numOnes-(k-numZeros-numOnes)
4、如果k>numNegOnes,则最多有numOnes个1,numNegOnes个-1,即为numOnes-numNegOnes

实现过程(python)

class Solution:
    def kItemsWithMaximumSum(self, numOnes: int, numZeros: int, numNegOnes: int, k: int) -> int:
        if numOnes < k:
            if numZeros > k - numOnes:
                out = numOnes
            else:
                n = k - numOnes - numZeros
                out = numOnes - n
        elif numOnes >= k:
            out = k
        return out
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/1017503
推荐阅读
相关标签
  

闽ICP备14008679号