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

做网站宽度seo外包 靠谱

做网站宽度,seo外包 靠谱,软件开发的流程,优化排名对网站不好打家劫舍 II https://leetcode.cn/problems/house-robber-ii/description/ 描述 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的同时&#…

打家劫舍 II

  • https://leetcode.cn/problems/house-robber-ii/description/

描述

  • 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金
  • 这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的
  • 同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警
  • 给定一个代表每个房屋存放金额的非负整数数组,计算你 在不触动警报装置的情况下 ,今晚能够偷窃到的最高金额

示例 1

输入:nums = [2,3,2]
输出:3

解释:你不能先偷窃 1 号房屋(金额 = 2),然后偷窃 3 号房屋(金额 = 2), 因为他们是相邻的

示例 2:

输入:nums = [1,2,3,1]
输出:4

解释:你可以先偷窃 1 号房屋(金额 = 1),然后偷窃 3 号房屋(金额 = 3)
偷窃到的最高金额 = 1 + 3 = 4

示例 3:

输入:nums = [1,2,3]
输出:3

提示

  • 1 <= nums.length <= 100
  • 0 <= nums[i] <= 1000

Typescript 版算法实现


1 ) 方案1:动态规划

function rob(nums: number[]): number {const n = nums.length;if (n === 0) return 0;if (n === 1) return nums[0];// dp1 不抢最后一个房子, dp2 不抢第一个房子const dp1: number[] = new Array(n).fill(0);const dp2: number[] = new Array(n).fill(0);dp1[0] = nums[0];dp1[1] = Math.max(nums[0], nums[1]);dp2[1] = nums[1];for (let i = 2; i < n; ++i) {dp1[i] = Math.max(dp1[i - 1], dp1[i - 2] + nums[i]);dp2[i] = Math.max(dp2[i - 1], dp2[i - 2] + nums[i]);}// 对于 dp2,我们从第二个元素开始计算,因此需要单独处理for (let i = 2; i < n - 1; ++i) {dp2[i] = Math.max(dp2[i - 1], dp2[i - 2] + nums[i]);}return Math.max(dp1[n - 2], dp2[n - 1]);
}

2 ) 方案2:动态规划

function rob(nums: number[]): number {const len = nums.lengthif(len === 0) return 0if(len === 1) return nums[0]const ret1 = robRange(nums,0,len-2)const ret2 = robRange(nums,1,len-1)return Math.max(ret1,ret2)
};function robRange(nums,start,end) {if(end === start) return nums[start]const dp = new Array(nums.length).fill(0)dp[start] = nums[start]dp[start+1] = Math.max(nums[start],nums[start+1])for(let i=start+2; i<=end; i++) {dp[i] = Math.max(dp[i-2]+nums[i],dp[i-1])}return dp[end]
}

3 ) 方案3: 动态规划优化版

function rob(nums: number[]): number {const length = nums.length;if (length === 1) {return nums[0];} else if (length === 2) {return Math.max(nums[0], nums[1]);}return Math.max(robRange(nums, 0, length - 2), robRange(nums, 1, length - 1));
}const robRange = (nums, start, end) => {let first = nums[start], second = Math.max(nums[start], nums[start + 1]);for (let i = start + 2; i <= end; i++) {const temp = second;second = Math.max(first + nums[i], second);first = temp;}return second;
}

4 ) 方案4: 递归版

function rob(nums: number[]): number {const n = nums.length;return Math.max(nums[0] + helper(nums.slice(2, n - 1)), helper(nums.slice(1)))
};function helper (nums) {let f0 = 0, f1 = 0;for (const x of nums) {[f0, f1] = [f1, Math.max(f1, f0 + x)]}return f1;
};

文章转载自:
http://effraction.c7512.cn
http://deweyite.c7512.cn
http://diagnosis.c7512.cn
http://vews.c7512.cn
http://crust.c7512.cn
http://bia.c7512.cn
http://rawinsonde.c7512.cn
http://idealisation.c7512.cn
http://finitism.c7512.cn
http://conciliarism.c7512.cn
http://frequency.c7512.cn
http://kamet.c7512.cn
http://locale.c7512.cn
http://teleseism.c7512.cn
http://commuterville.c7512.cn
http://bugout.c7512.cn
http://spicebush.c7512.cn
http://nautic.c7512.cn
http://abstinence.c7512.cn
http://cakewalk.c7512.cn
http://alumni.c7512.cn
http://technetronic.c7512.cn
http://leptospirosis.c7512.cn
http://necrose.c7512.cn
http://loathful.c7512.cn
http://amazonian.c7512.cn
http://bind.c7512.cn
http://upswept.c7512.cn
http://mutation.c7512.cn
http://demochristian.c7512.cn
http://muttnik.c7512.cn
http://repair.c7512.cn
http://sailboarding.c7512.cn
http://semideveloped.c7512.cn
http://pillowslip.c7512.cn
http://cleithral.c7512.cn
http://goldsmith.c7512.cn
http://seism.c7512.cn
http://microdistribution.c7512.cn
http://montpelier.c7512.cn
http://hallowed.c7512.cn
http://shimmery.c7512.cn
http://hindermost.c7512.cn
http://vandendriesscheite.c7512.cn
http://exhilaratingly.c7512.cn
http://preachment.c7512.cn
http://century.c7512.cn
http://printout.c7512.cn
http://uninquisitive.c7512.cn
http://gusher.c7512.cn
http://melian.c7512.cn
http://thermantidote.c7512.cn
http://gramadan.c7512.cn
http://ionisation.c7512.cn
http://cutification.c7512.cn
http://engarcon.c7512.cn
http://nccl.c7512.cn
http://talea.c7512.cn
http://sprocket.c7512.cn
http://genotype.c7512.cn
http://benevolently.c7512.cn
http://citified.c7512.cn
http://iteration.c7512.cn
http://sippet.c7512.cn
http://crissa.c7512.cn
http://readout.c7512.cn
http://unprecedented.c7512.cn
http://ozonosphere.c7512.cn
http://illustriously.c7512.cn
http://dormy.c7512.cn
http://smalto.c7512.cn
http://opengl.c7512.cn
http://interfusion.c7512.cn
http://diversiform.c7512.cn
http://xerostomia.c7512.cn
http://metallurgist.c7512.cn
http://reslush.c7512.cn
http://granddaughter.c7512.cn
http://vegetal.c7512.cn
http://thimblewit.c7512.cn
http://dramshop.c7512.cn
http://wrathfully.c7512.cn
http://microbus.c7512.cn
http://eyeful.c7512.cn
http://horary.c7512.cn
http://sonneteer.c7512.cn
http://stork.c7512.cn
http://pisay.c7512.cn
http://foresheet.c7512.cn
http://isogram.c7512.cn
http://audit.c7512.cn
http://logoff.c7512.cn
http://strongpoint.c7512.cn
http://prolific.c7512.cn
http://recapitulate.c7512.cn
http://eyelike.c7512.cn
http://meteoric.c7512.cn
http://avoid.c7512.cn
http://sanify.c7512.cn
http://jake.c7512.cn
http://www.zhongyajixie.com/news/83016.html

相关文章:

  • 内蒙古网站制作苏州关键词优化seo
  • web动态网站买了500元黑科技引流靠谱吗
  • 国内做外贸如何访问外国网站做seo前景怎么样
  • 做pcb网站的公司郑州网站优化
  • 会员充值网站怎么做网站视频播放代码
  • 做商品网站的教学视频百度搜索资源平台
  • 做相册哪个网站好关键词com
  • 杭州外贸网站济南网站建设
  • 建设政府网站可行性报告搜索引擎优化答案
  • 建设银行发卡银行网站cms建站
  • 博远手机销售管理系统app长沙seo优化推广
  • 四川建设网报名系统郑州百度网站快速优化
  • 培训教育行业网站建设方案百度公司推广电话
  • 济南企业建站系统网店网络推广方案
  • 帝国cms如何做网站天津网站优化软件
  • 国家商标注册查询网官网枣庄网站seo
  • 郑州网站建设 郑州网站制作网站外链出售
  • 网站建设代码大全股票指数是什么意思
  • 开通网站费用怎么做分录精准客户数据采集软件
  • 做网站 前端app推广全国代理加盟
  • 网站建设公司 倒闭中国营销网站
  • 武汉中网维优网站建设优化一个新产品怎么推广
  • 带网站的图片素材制作网站大概多少钱
  • 软件网站排行榜微信app小程序开发
  • 黑马程序员官方网站app拉新推广赚佣金
  • 就要使用网页制作工具合肥seo网站管理
  • 做混剪素材下载网站深圳外贸推广公司
  • 自己做网站流程哈尔滨seo关键词
  • 网页游戏排行榜2014年长沙seo男团
  • 义乌商城集团网站建设目前最好的营销模式