当前位置: 首页 > news >正文

网站建设三网合一上海网站建设哪家好

网站建设三网合一,上海网站建设哪家好,光明做网站,网上做网页网站任务赚钱打家劫舍和背包问题一样是一道非常经典的动态规划问题,只要做过几道动态规划的题,这道题简直就非常容易做出来。我应该花了10来分钟左右就写出来了,动态规划问题最重要的就是建立状态转移方程,就是说如何从上一个状态转移到下一个…

 打家劫舍和背包问题一样是一道非常经典的动态规划问题,只要做过几道动态规划的题,这道题简直就非常容易做出来。我应该花了10来分钟左右就写出来了,动态规划问题最重要的就是建立状态转移方程,就是说如何从上一个状态转移到下一个状态的。直观的说就是dp[i]是怎么来的,是通过dp[i-1]来的还是通过dp[i-2]来的等等,如果知道初始状态和状态转移方程,那么每个状态都可以算出来,以下是我的代码:

class Solution {public int rob(int[] nums) {int n = nums.length;int[][] dp = new int[n][2];dp[0][0] = 0;dp[0][1] = nums[0];int max = Math.max(dp[0][0], dp[0][1]);for(int i=1;i<n;i++){dp[i][0] = max;dp[i][1] = dp[i-1][0]+nums[i];max = Math.max(dp[i][0], dp[i][1]);}return max;}
}

 数组大小是n,我建立一个int[n][2]的dp数组,其中dp[i][0]表示不偷第i家能获得的最大的价值,dp[i][1]表示偷第i家能获得的最大的价值。max表是dp[i][0]和dp[i][1]中的最大值,表示偷到第i家能获得的最大价值(因为是从第0家偷到第n-1家的)。

初始状态:dp[0][0]=0; 表示不偷第0家,dp[0][1]=nums[0];表示偷第0家。

状态转移方程:dp[i][0] = max;这个max是dp[i-1]的最大值,就是说如果我不偷第i家,那么第i-1家偷不偷都可以,所以不偷第i家的最大值就是第i-1家的最大值,与偷不偷i-1无关。

dp[i][1] = dp[i-1][0]+nums[i];偷第i家的最大值就是不偷第i-1家的最大值dp[i-1][0]+第i家的价值nums[i];

最后只要返回dp[n-1][0]和dp[n-1][1]中的最大值即可,而max正好是两者中的最大值,所以只要返回max即可。

动态规划问题都是这个套路,找到状态转移方程,通过初始状态算出每个状态,返回最后那个状态或者返回所有状态中的最值。

看看题解有没有新颖的解法。

题解的思路确实更清晰,他dp数组是一维的,没有分什么偷和不偷,dp[i]就表示在第i家的最大价值也就是max,那么状态转移方程就是:dp[i] = Math.max(dp[i - 2] + nums[i], dp[i - 1]);dp[i-2]+nums[i]表示偷第i家,那么就是在第i-2家的最大值家上nums[i];dp[i-1]就是不偷第i家,那么就是第i-1家的最大值。dp[i]取两者中的最大值即可。

class Solution {public int rob(int[] nums) {if (nums == null || nums.length == 0) {return 0;}int length = nums.length;if (length == 1) {return nums[0];}int[] dp = new int[length];dp[0] = nums[0];dp[1] = Math.max(nums[0], nums[1]);for (int i = 2; i < length; i++) {dp[i] = Math.max(dp[i - 2] + nums[i], dp[i - 1]);}return dp[length - 1];}
}

http://www.rdtb.cn/news/2483.html

相关文章:

  • 创建公司主页班级优化大师的功能
  • 网站备案取消 后果高端品牌网站建设
  • 杭州临平网站建设百度官方版下载
  • wordpress积分查看隐藏内容重庆seo霸屏
  • 镇江百度网站排名百度搜不干净的东西
  • 网站的做用2022年百度seo
  • 怎么做子网站安卓优化大师app下载安装
  • 随州网站建设优化推广渠道怎么推广自己的微信号
  • 上虞网站开发网络营销ppt
  • 高校网站建设需求分析近期发生的新闻
  • 湛江网站建设北京seo服务行者
  • 网站透明flash竞价推广托管公司介绍
  • 什么做网站开发网站免费网站免费优化优化
  • 长春企业免费建站小程序搭建教程
  • 门户网站模板源码天津优化网络公司的建议
  • 生物科技 网站模板下载苏州关键词排名系统
  • 防录屏网站怎么做网上商城推广13种方法
  • 手机建站哪家好怎么网站推广
  • 网站页面一般做多大网站多少钱
  • 找人做个网站多少钱鄂州网站seo
  • 合肥行业网站建设上海网络推广外包公司
  • 商会网站建设磁力下载
  • 深圳专业网站建设产品运营之中的广度讲解网店运营在哪里学比较好些
  • 深圳做网站排名公司拼多多跨境电商平台
  • 建设网站收取广告费用短视频营销优势
  • 中山快速做网站价格百度平台
  • 做企业展示版网站贵吗企业网站推广策略
  • 义乌市建设银行分行网站发布外链的步骤
  • wordpress 后门检测百度seo刷排名网址
  • 策划是做什么的aso优化服务站