知识点:动态规划对于动态规划类的题目,最关键的一步是找到状态转移方程,如何由前一状态转换为下一状态,题目要求找出元素和相同的两部分,也就是要找到一个和为总和一半的子序列。我们可以定义dp[i][j],代表前i个元素是否能组成和为j的子序列,对于当前状态<i, j>来说,可以由上一状态转换而来,若dp[i - 1][j] == true,则当前状态下dp[i][j]=true,或者说dp[i - 1][j - nums[i]] == ture,也就是加上当前位置的元素后,也可以组成和为j,即dp[i][j]=true。最终状态dp[n][sum/2]即为答案。Java题解如下 imp...