四面算法题感觉是个DP,等效于选出不连续的数字,和最大是多少。 先将相同的数字聚到一起,剩下distinct的数字有k个,分别是q[1]..q[k],q[i]的和用w[i]代表。用dp[i]表示前i个数不选连续的,最大和多少。 对于dp[i],如果q[i]==q[i-1]+1,那么dp[i]=max(dp[i-1],dp[i-2]+w[i])。 否则dp[i]=dp[i-1]+w[i]。
点赞 评论

相关推荐

牛客网
牛客企业服务