方法1 暴力求解 看到题目第一想法,每个礼物选或者不选有两条分支。因为我们希望尽量把礼物均分,所以要求累计价值不超出总价值的一半,否则将执行剪枝。如果出现正好均分的方案后,将flag置1,跳过后续遍历分支的步骤。当所有分支走完,找一个总价值最接近一半的方案。 很遗憾,暴力求解的方案虽然已经做了一定的剪枝操作,但在数据量多了之后仍会超时,用例通过69.23%。 function maxPresent( presentVec ) { let all = eval(presentVec.join("+")) let max =0 let flag = 0 choose(presentVec,0,0)...