这题就是递归搜索嘛
所在版块:心情闲聊 发贴时间:2019-05-23 14:26

用户信息
复制本帖HTML代码
高亮: 今天贴 X 昨天贴 X 前天贴 X 
从List开始iterate, 每个数要不就是包含在当前group, 要不就是在下一个group, 如果在下一group就把剩下的group-1

随便写的,不知道对不对,只测了楼主那个case是对的。原谅我放飞自我的魔性变量名

import sys

m = 9
n = 3

mylist = list(range(1, m+1))

my_dict = {} #可以memonize 省很多重复,只要记下参数和对应结果,懒得写了。。。

def min_max_sum(current, index, no_of_group):
print(current, index, no_of_group)
if(no_of_group==1):
return sum(mylist[index:])
elif (index == m-1):
if(no_of_group>1):
return sys.maxsize
else:
current.append(mylist[index])
max_sum_1 = max(min_max_sum([], index+1, no_of_group-1), sum(current))
max_sum_2 = min_max_sum(current, index+1, no_of_group)
return min(max_sum_1,max_sum_2)

print(min_max_sum([], 0, n))




.
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!

 相关帖子 我要回复↙ ↗回到正文
问码农们一个算法问题。 3idiots   (1030 bytes , 1472reads )
并不是很暴力,因为有重复子问题,是动态规划 id_rsa   (212 bytes , 29reads )
对的。 3idiots   (0 bytes , 14reads )
目测楼主可以考虑用空间来换取时间 功夫熊猫   (193 bytes , 16reads )
可能我描述有误,不是自然数列。 3idiots   (32 bytes , 18reads )
那玩脱了 功夫熊猫   (0 bytes , 13reads )
迷幻原题来了,大家欣赏一下。 3idiots   (2782 bytes , 19reads )
还是你们厉害,我的手艺不行了,惭愧。 3idiots   (0 bytes , 11reads )
一粘贴代码全部gg,上个图 id_rsa   (58 bytes , 34reads )
[ThumbsUp][ThumbsUp][ThumbsUp],就欣赏实干的! zhbhope   (0 bytes , 27reads )
这题就是递归搜索嘛 id_rsa   (777 bytes , 21reads )
这是 python 吧?不太会,但是也能看。 3idiots   (84 bytes , 16reads )
没什么时间,说下基本思路吧 heathcliff   (287 bytes , 19reads )
一句“之后所以的分发”,略去了C(m,n)的复杂度。 zhbhope   (28 bytes , 22reads )
你可以再仔细想想 heathcliff   (5 bytes , 18reads )
我能想到的binary search是 zhbhope   (372 bytes , 19reads )
多谢啦。这么说我就懂了。 3idiots   (73 bytes , 12reads )
两种解法 yueli   (126 bytes , 24reads )
说的真简介明了,solution space 二分法。就是!复杂度是n*log(数组的和) zhbhope   (0 bytes , 21reads )
没错,这题就是用binary search,dp也可以的。但time complexity是binary search好的 github   (0 bytes , 29reads )
这个题目没看懂 wineywei   (309 bytes , 23reads )
原题是个充满了各种诡异精灵名字的 problem solving 小故事。。。 3idiots   (184 bytes , 14reads )
好像不是最大两个 cy1024   (48 bytes , 16reads )
划分型动态规划 小p友   (11 bytes , 26reads )