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

网站架构策划wordpress做网店

网站架构策划,wordpress做网店,购物网站开发报告,怎样买空间做网站描述 你是一个经验丰富的小偷,准备偷沿街的一排房间,每个房间都存有一定的现金,为了防止被发现,你不能偷相邻的两家,即,如果偷了第一家,就不能再偷第二家;如果偷了第二家&#xff0…

描述

你是一个经验丰富的小偷,准备偷沿街的一排房间,每个房间都存有一定的现金,为了防止被发现,你不能偷相邻的两家,即,如果偷了第一家,就不能再偷第二家;如果偷了第二家,那么就不能偷第一家和第三家。

给定一个整数数组nums,数组中的元素表示每个房间存有的现金数额,请你计算在不被发现的前提下最多的偷窃金额。

数据范围:数组长度满足 1≤n≤2×105,数组中每个值满足 1≤num[i]≤5000

示例1

输入:

[1,2,3,4]

返回值:

6

说明:

最优方案是偷第 2,4 个房间   

示例2

输入:

[1,3,6]

返回值:

7

说明:

最优方案是偷第 1,3个房间   

示例3

输入:

[2,10,5]

返回值:

10

说明:

最优方案是偷第 2 个房间  

思路分析:

该题使用动态规划来解决,

具体做法:

  • step 1:用dp[i]表示长度为i的数组,最多能偷取到多少钱,只要每次转移状态逐渐累加就可以得到整个数组能偷取的钱。
  • step 2:(初始状态) 如果数组长度为1,只有一家人,肯定是把这家人偷了,收益最大,因此dp[1]=nums[0]。
  • step 3:(状态转移) 每次对于一个人家,我们选择偷他或者不偷他,如果我们选择偷那么前一家必定不能偷,因此累加的上上级的最多收益,同理如果选择不偷他,那我们最多可以累加上一级的收益。因此转移方程为dp[i]=max(dp[i−1],nums[i−1]+dp[i−2])。这里的i在dp中为数组长度,在nums中为下标。

图示:

alt

代码:

import java.util.*;public class Solution {/*** @param nums int整型一维数组 * @return int整型*/public int rob (int[] nums) {int[] dp=new int[nums.length+1];dp[1]=nums[0];for(int i=2;i<=nums.length;i++){dp[i]=Math.max(dp[i-1],nums[i-1]+dp[i-2]);}return dp[nums.length];}
}

http://www.yayakq.cn/news/557371/

相关文章:

  • 网站建设项目进度计划开封seo推广
  • 微信企业号网站开发软件wordpress 邮件认证
  • 海门住房和城乡建设部网站wordpress宽屏主题
  • 邯山网站制作陕西专业网站建设哪家好
  • 建设银行绑定手机号码网站郑州网站建设方案
  • 深圳市网站推广公司网站建设模板代码下载
  • 自己编辑网站怎么做的承德市宽城县建设局网站
  • 无锡设计网站建设软件开发工程师培训学校
  • php网站建设成都网多多
  • 网站seo工作wordpress tint
  • 重庆云阳网站建设公司推荐html基础知识思维导图
  • 河南高端网站建设禅城区网站建设
  • 0基础做网站工具北京seo网站内部优化
  • 长春网站建设公司怎么样企业做网站需要准备什么资料
  • 自己做网站 教程深圳网站建设行吗
  • 秦皇岛网站制作服务列举网免费发布信息网
  • 企业公司网站管理系统uniapp开发者中心
  • 网站建设丶seo优化wordpress category 自定义
  • 军事网站模板下载WordPress模板cms
  • h5网页设计培训seo站内优化
  • 企业网站建设报告discuz门户网站模板手机
  • 织梦网站后台密码忘记信息流广告代理公司排名
  • 查询网站备案查询自己制作网站视频教程
  • 全屏企业网站公司员工培训方案
  • 南昌定制网站开发多少钱品牌建设途径
  • 网站实名制 怎么做徐州建设局规划网站
  • 邢台市住房和城乡建设局网站合肥网站运营管理公司
  • 北京工程建设协会网站稻壳儿免费ppt模板
  • 手机网站有什么要求房地产网站策划
  • 网站建设经验下载百度网盘app最新版