不相邻 dp数组存储当前位置的最大和 由于不相邻,则当前位置的最大和 i>2时 只能由前i-2位置或i-3的位置累加得到,从而判断i-2和i-3位置与当前i位置之和取较大者即可 i<3时 最大值就是本身 cost[0] = 0; int maxdp = 0; for (int i = 1; i <= n; i++) { //边输入边判断 cost[i] = sc.nextInt(); if (i>2){ dp[i] = Math.max(dp[i-2]+cost[i],dp[i-3]+cost[i]); }else { dp[i] = cost[i]; } max...