https://leetcode.com/problems/partition-to-k-equal-sum-subsets/
将阵列(nums)中的数字分组,分k组,每组加总值必须一样。
每组(subset)加总值为sum(nums)/k
条件:加某一element没有超过subset的sum则往下一element走(recursive)
有超过则不加入组里,往下组加看看
class Solution(object):
def canPartitionKSubsets(self, nums, k):
sums = [0]*k
subsum = sum(nums) / k
nums.sort(reverse=True)
l = len(nums)
def walk(i):
if i == l:
return len(set(sums)) == 1
for j in xrange(k):
sums[j] += nums[i]
if sums[j] <= subsum and walk(i+1):
return True
sums[j] -= nums[i]
if sums[j] == 0:
break
return False
'''加上会比较慢
if sum(nums)%k!=0:
return False
'''
return walk(0)
Medium
<<: [Day29] 倒数第二天~集大成!Next.js + React + Bootstrap + Reactstrap 十八般武艺(?)样样来,勇敢的上吧!
>>: Day18_控制项(A10密码学A11实体及环境安全)
Q: 我要下拉选单,黑底跟选单一起推出来呢?还是淡出呢? A: 前几章的小技巧有掌握好,一切都好上...
继续昨天~ 再来回到系统所帮我们修复的两个func,刚刚说到第一个函数的作用,那我们这边将要回传几个...
挑战目标: MockNative Camp 这次的挑战应该就止步於此了,在前端上我太弱小LA,没有事...
总算,我们已经会建立自己独一无二的神经网路了~但,你有没有发现一个问题,我们的该不会每次要使用模型...
权限请求 当需要取得敏感资料或操作装置硬体设备时,需要在专案中设定相关权限,而系统会根据权限的重要性...