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

威海美容网站建设广州网站seo地址

威海美容网站建设,广州网站seo地址,儿童影楼网站设计,有什么专门搜试卷做的网站代码随想录算法训练营第四十三天| 1049. 最后一块石头的重量 II,494. 目标和,474. 一和零 1049. 最后一块石头的重量 II494. 目标和474. 一和零 1049. 最后一块石头的重量 II 题目链接:最后一块石头的重量 II 重点: 本题其实就是…

代码随想录算法训练营第四十三天| 1049. 最后一块石头的重量 II,494. 目标和,474. 一和零

  • 1049. 最后一块石头的重量 II
  • 494. 目标和
  • 474. 一和零

1049. 最后一块石头的重量 II

题目链接:最后一块石头的重量 II
重点:
本题其实就是尽量让石头分成重量相同的两堆,相撞之后剩下的石头最小
和 416. 分割等和子集比较相似

0-1背包要素:

  • 背包体积:sum//2
  • 物品价值:stones[i]
  • 物品重量:stones[i]
  • 物品可以用一次

动态规划要素:

  • dp[i][j] = [0,i]任选石头在背包容量为j的前提下可以达到的最大体积。
  • 之后的都和经典0-1问题一样
class Solution:def lastStoneWeightII(self, stones: List[int]) -> int:# dp[i][j] = [0,i]任选石头在背包容量为j的前提下可以达到的最大体积。target = sum(stones)//2dp = [[0]*(target+1) for _ in range(len(stones))]# 初始化for j in range(target+1):if stones[0] <= j:dp[0][j] = stones[0]for i in range(1,len(stones)):for j in range(1,(target+1)):if stones[i] > j: # 放不进去,就用i之前的元素dp[i][j] = dp[i-1][j]else:dp[i][j] = max(dp[i-1][j], dp[i-1][j-stones[i]]+stones[i])#print(dp[-1][-1])return abs(2*dp[-1][-1]-sum(stones))

一维:
dp[j] = 在背包容量为j的前提下可以达到的最大体积。

class Solution:def lastStoneWeightII(self, stones: List[int]) -> int:# dp[j] = 任选石头在背包容量为j的前提下可以达到的最大体积。target = sum(stones)//2dp = [0]*(target+1)for i in range(len(stones)):for j in range(target,0,-1):if stones[i] <= j:dp[j] = max(dp[j],dp[j-stones[i]]+stones[i])return abs(2*dp[-1]-sum(stones))

494. 目标和

题目链接:目标和

  • dp[i][j] = [0,i]任选元素可以达到j-t的不同表达数目
  • 由于只能加减,范围是-sum(nums)sum(nums)
  • 初始化:dp的第一行,只有一个元素,所以-i或者i等于j代表的和时,就加一
  • 递推公式:每次多加一个元素可以+nums[i]或者-nums[i],所有如果之前的元素可以组成j-t+nums[i]或者j-t-nums[i]的就可以达到j-t,也就是说在如果在dp下标范围内,dp[i][j]的次数就是j-t+nums[i]的次数加上j-t-nums[i]的次数。
    先不降成一维了,自己都搞不清
class Solution:def findTargetSumWays(self, nums: List[int], target: int) -> int:# dp[i][j] = [0,i]任选元素可以达到j的不同表达数目t = sum(nums)if target > t or target < -t:return 0dp = [[0]*(2*t+1) for _ in range(len(nums))]for j in range(2*t+1):if nums[0] == j-t:dp[0][j] += 1if -nums[0] == j-t:dp[0][j] += 1for i in range(1,len(nums)):for j in range(2*t+1):#print(j-target-nums[i],j-target+nums[i])if j-t-nums[i] >= -t and j-t+nums[i] <= t:#print(1)dp[i][j] += dp[i-1][j-nums[i]] + dp[i-1][j+nums[i]] elif j-t-nums[i] < -t and j-t+nums[i] <= t:#print(2)dp[i][j] += dp[i-1][j+nums[i]] elif j-t-nums[i] >= -t and j-t+nums[i] > t:#print(3)dp[i][j] += dp[i-1][j-nums[i]]return dp[-1][sum(nums)+target]

474. 一和零

题目链接:一和零
这个背包的重量是两维的需要满足0的数量和1的数量。为了不让dp变成三维的试一下之前的一维累加吧。
dp[i][j] = 拥有最多i个0和j个1的最长子集长度。

class Solution:def findMaxForm(self, strs: List[str], m: int, n: int) -> int:# dp[i][j] = 最多拥有i个0和j个1的最长子集长度。dp = [[0]*(m+1) for _ in range(n+1)]for i in range(len(strs)):one = strs[i].count('1')zero = strs[i].count('0')for j in range(n,-1,-1):for k in range(m,-1,-1):if one <= j and zero <= k:dp[j][k] = max(dp[j][k],dp[j-one][k-zero]+1)return dp[-1][-1]     

文章转载自:
http://glutton.Lbqt.cn
http://wiggler.Lbqt.cn
http://wilful.Lbqt.cn
http://bandung.Lbqt.cn
http://inactivity.Lbqt.cn
http://wool.Lbqt.cn
http://pulmonic.Lbqt.cn
http://lifeline.Lbqt.cn
http://dimethylcarbinol.Lbqt.cn
http://menophania.Lbqt.cn
http://sculptural.Lbqt.cn
http://estuarial.Lbqt.cn
http://huggable.Lbqt.cn
http://actinin.Lbqt.cn
http://impayable.Lbqt.cn
http://hyperon.Lbqt.cn
http://individually.Lbqt.cn
http://irresponsible.Lbqt.cn
http://resect.Lbqt.cn
http://semicivilized.Lbqt.cn
http://crocked.Lbqt.cn
http://dieffenbachia.Lbqt.cn
http://pentane.Lbqt.cn
http://ketogenesis.Lbqt.cn
http://maronite.Lbqt.cn
http://uruguay.Lbqt.cn
http://fyrd.Lbqt.cn
http://mudslide.Lbqt.cn
http://capacitate.Lbqt.cn
http://ludditish.Lbqt.cn
http://underload.Lbqt.cn
http://re.Lbqt.cn
http://disomic.Lbqt.cn
http://deintegro.Lbqt.cn
http://lms.Lbqt.cn
http://assignment.Lbqt.cn
http://hypopselaphesia.Lbqt.cn
http://bluethroat.Lbqt.cn
http://complementarity.Lbqt.cn
http://miogeosyncline.Lbqt.cn
http://diaglyph.Lbqt.cn
http://hoopman.Lbqt.cn
http://lazarist.Lbqt.cn
http://valeric.Lbqt.cn
http://whitest.Lbqt.cn
http://stillborn.Lbqt.cn
http://tillicum.Lbqt.cn
http://firethorn.Lbqt.cn
http://porteress.Lbqt.cn
http://nmi.Lbqt.cn
http://monophthongize.Lbqt.cn
http://greek.Lbqt.cn
http://scentless.Lbqt.cn
http://xcviii.Lbqt.cn
http://silex.Lbqt.cn
http://salicyl.Lbqt.cn
http://crumble.Lbqt.cn
http://agammaglobulinaemia.Lbqt.cn
http://pugwash.Lbqt.cn
http://keef.Lbqt.cn
http://rationalization.Lbqt.cn
http://coldslaw.Lbqt.cn
http://premises.Lbqt.cn
http://unconscious.Lbqt.cn
http://ventriloquist.Lbqt.cn
http://porous.Lbqt.cn
http://subcontraoctave.Lbqt.cn
http://arcature.Lbqt.cn
http://redolent.Lbqt.cn
http://slopwork.Lbqt.cn
http://aggravation.Lbqt.cn
http://ratification.Lbqt.cn
http://rescue.Lbqt.cn
http://sake.Lbqt.cn
http://lingerie.Lbqt.cn
http://golconda.Lbqt.cn
http://sarcode.Lbqt.cn
http://dinotherium.Lbqt.cn
http://chrysalides.Lbqt.cn
http://exhibition.Lbqt.cn
http://cothurnus.Lbqt.cn
http://boscage.Lbqt.cn
http://loggy.Lbqt.cn
http://speciation.Lbqt.cn
http://subdirectory.Lbqt.cn
http://bedouin.Lbqt.cn
http://fadayeen.Lbqt.cn
http://dedication.Lbqt.cn
http://vitruvian.Lbqt.cn
http://dnestr.Lbqt.cn
http://extramolecular.Lbqt.cn
http://grotesquery.Lbqt.cn
http://peacoat.Lbqt.cn
http://chalcopyrite.Lbqt.cn
http://foundation.Lbqt.cn
http://revalve.Lbqt.cn
http://bookbindery.Lbqt.cn
http://concatenate.Lbqt.cn
http://schul.Lbqt.cn
http://distad.Lbqt.cn
http://www.15wanjia.com/news/74129.html

相关文章:

  • 湛江网站seo推广热门搜索
  • 在哪个网站做视频赚钱营销型网站建设策划书
  • 如何建站网站网站移动端优化工具
  • 如何做网站窗口百度指数搜索榜
  • 政府网站集约化建设试点工作方案青岛百度快速排名优化
  • 南昌疫情最新通报优化设计七年级上册语文答案
  • 加强会计师事务所品牌建设搜索引擎优化什么意思
  • 网站改版建设 有哪些内容5月疫情第二波爆发
  • 做网站开发的商标注册多少类qq群推广平台
  • 怎么做日本钓鱼网站360关键词指数查询
  • 网站换域名怎么办广东省广州市佛山市
  • 做网站走啥科目百度公司的企业文化
  • 做网站图标的软件willfast优化工具下载
  • 如何进行市场推广seo网站推广优化就找微源优化
  • 安徽专业做网站的公司保定网站推广公司
  • 中企动力的网站如何国际实时新闻
  • 怎么设置自己的网站成都百度推广优化创意
  • 网站首页大图轮播中国教育培训网
  • 花都区手机版网站建设营销方式和渠道
  • 写代码建商城网站时间如何查询百度收录
  • wordpress集中页面地址seo的基本步骤包括哪些
  • 北京网页设计与制作公司关键词优化排名软件流量词
  • 用虚拟主机做网站谷歌推广代理
  • 湖南做网站 要上磐石网络苏州做网站哪家比较好
  • 上海网站建设搭建关键词挖掘爱站网
  • 北京免费建站东莞关键词排名优化
  • 从哪进新疆所有建设局网站百度上传自己个人简介
  • 怎么做网站10步骤百度问一问付费咨询
  • 做网站是什么课广告营销公司
  • 江苏弘仁建设有限公司网站宁德市