为什么你总是做不出来「组合总和 IV」?问题不在动态规划,而在你没理解“顺序”的价值!
为什么你总是做不出来「组合总和 IV」?问题不在动态规划,而在你没理解“顺序”的价值!作者:Echo_Wish如果你刷过 LeetCode,相信一定见过这样一道题:377. Combination Sum IV(组合总和 IV)很多人第一次看到它的时候,第一反应就是:“这不就是背包问题吗?”于是开始写动态规划。结果提交。Wrong Answer。改了一遍。还是 Wrong Answer。最后一看题解:原来循环顺序写反了……是不是很熟悉?其实,这道题真正难的地方,并不是动态规划本身,而是它考察的是你是否真正理解了"组合(Combination)"和"排列(Permutation)"之间的区别。很多人刷了几百道 DP,状态转移都会写,可一遇到这种题还是容易翻车。今天,我们就彻底把这道经典题聊透。一、题目到底说了什么?题目非常简单。给定一个数组: