按摩师与动态规划
Posted Code and Shannon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了按摩师与动态规划相关的知识,希望对你有一定的参考价值。
题目:
动态规划
class Solution {
public int massage(int[] nums) {
//动态规划 1.定义最优子问题 f(k)表示k个最大值
//2状态方程 递推 f(k)=max{f(k-1),f(k-2)+nums[k]}
//求解数组 dp dp[0]=nums[0],dp[1]=max{nums[0],nums[1]}
//空间优化 只用两个变量保存 dp1=f(k-2) dp2=f(k-1)
if(nums.length==0){
return 0;
}
if(nums.length==1){
return nums[0];
}
if(nums.length==2){
return Math.max(nums[0],nums[1]);
}
int result=0;
int dp1=nums[0];int dp2=Math.max(nums[0],nums[1]);
for(int i=2;i<nums.length;i++){
result=Math.max(dp1+nums[i],dp2);
dp1=dp2;dp2=result;
}
return result;
}
}
提交结果
以上是关于按摩师与动态规划的主要内容,如果未能解决你的问题,请参考以下文章
详细实例说明+典型案例实现 对动态规划法进行全面分析 | C++
动态规划——最长公共子序列与最长公共子串 (含Python实现代码)
HTML5期末大作业:餐饮美食网站设计——咖啡(10页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 咖啡网页设计 美食餐饮网页设计...(代码片段