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

做网站 免费字体国内最新新闻事件今天

做网站 免费字体,国内最新新闻事件今天,定制企业app开发,外贸推广app1049. 最后一块石头的重量 II 核心思想: 尽量让石头分成重量相同的两堆,相撞之后剩下的石头最小,这样就化解成01背包问题了。 是不是感觉和昨天讲解的416. 分割等和子集 (opens new window)非常像了。那么分成两堆石头,一堆石头的…

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

在这里插入图片描述
在这里插入图片描述
核心思想: 尽量让石头分成重量相同的两堆,相撞之后剩下的石头最小,这样就化解成01背包问题了。
是不是感觉和昨天讲解的416. 分割等和子集 (opens new window)非常像了。那么分成两堆石头,一堆石头的总重量是dp[target],另一堆就是sum - dp[target]。

class Solution {public int lastStoneWeightII(int[] stones) {int sum=0;for(int i=0;i<stones.length;i++){sum+=stones[i];}int target=sum/2;int dp[]=new int[target+1];//1、定义dp数组 3、第一列初始化为0for(int i=0;i<stones.length;i++){for(int j=target;j>=stones[i];j--){//4、遍历顺序dp[j]=Math.max(dp[j],dp[j-stones[i]]+stones[i]);//2.递推公式}}return sum-dp[target]-dp[target];//最终的返回结果}
}

时间复杂度:O(m × n) , m是石头总重量(准确的说是总重量的一半),n为石头块数
空间复杂度:O(m)

494. 目标和

在这里插入图片描述
在这里插入图片描述

思路: 这道题的dp数组的含义变了。具体看代码随想录的讲解

class Solution {public int findTargetSumWays(int[] nums, int target) {int sum=0;for(int i=0;i<nums.length;i++){sum+=nums[i];}//如果不能满足(target+sum)/2为整数的条件或target的绝对值大于sum的绝对值,直接返回0if((target+sum)%2!=0 || Math.abs(target)>Math.abs(sum)) return 0;int size=(target+sum)/2;int[] dp=new int[size+1];//1、定义dp数组,表示j容量时的表达式数目dp[0]=1;//3、初始化for(int i=0;i<nums.length;i++){for(int j=size;j>=nums[i];j--){//4、因为是01背包,所以反向遍历dp[j]=dp[j]+dp[j-nums[i]];//2、递推公式}}return dp[size];}
}

时间复杂度:O(n × m),n为正数个数,m为背包容量
空间复杂度:O(m),m为背包容量

474.一和零

在这里插入图片描述
思路: 这道题是一个二维的背包问题,和普通的背包相比只需要多一层对容量的循环。
在这里插入图片描述

class Solution {public int findMaxForm(String[] strs, int m, int n) {int[][] dp=new int[m+1][n+1];//1、定义dp数组,表示当0的容量为x,1的容量为n时,最大子集的长度for(int i=0;i<strs.length;i++){//4、遍历顺序,物品正序遍历int weightm=0;int weightn=0;for(int j=0;j<strs[i].length();j++){if(strs[i].charAt(j)=='0') weightm++; else weightn++;}for(int x=m;x>=weightm;x--){//4、物品的空间占用逆序遍历for(int y=n;y>=weightn;y--){dp[x][y]=Math.max(dp[x][y],dp[x-weightm][y-weightn]+1);//2、递推公式,注意value是1}}}return dp[m][n];}
}

时间复杂度: O(kmn),k 为strs的长度
空间复杂度: O(mn)

http://www.yidumall.com/news/57188.html

相关文章:

  • 陕西网站建设费用吉林seo外包
  • https网站开发如何配置东莞有哪些做推广的网站
  • 推广公司名字大全如何优化培训体系
  • 网站关键词搜索排名做小程序公司哪家好
  • 黄山建设厅官方网站深圳网站推广公司
  • 建设项目验收在哪个网站公示渠道策略的四种方式
  • 深圳信科做网站网络营销策划书2000字
  • 百度开户做网站2400佛山网站建设制作公司
  • 四川网站开发公司百度指数官方
  • 网站怎么做落款网址链接
  • 自己做的网站打开超慢江东seo做关键词优化
  • 站长工具seo综合查询columbu cat磁力最好用的搜索引擎
  • 99到家网站怎么做推广普通话手抄报内容50字
  • 延庆网站建设师肇庆网站推广排名
  • 大型在线网站建设网络营销案例分析论文
  • 昆明疫情最新情况今天前端seo优化
  • 网站开发语言统计百度关键词排名技术
  • ecms网站开发论文长春百度关键词优化
  • 德阳吧网站建设开封搜索引擎优化
  • 学做日本料理菜的视频网站百度指数网
  • 网站制作好以后怎么管理买链接网站
  • 国外做爰网站今日十大热点新闻事件
  • 今天的新闻直播间百度seo2022新算法更新
  • 如何做好网络宣传工作seo关键词排名优化app
  • 烟台网站开发seo是什么的简称
  • wordpress伪静态html武汉官网优化公司
  • 网站建设实训总结图片百度搜索
  • 怎么怎么做网站2022年最好用的搜索引擎
  • 购买了网站空间如何进入山西seo推广
  • 网站做外链的方式seo教程技术