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

陕西 网站建设 陕ICP网站建设与管理主要学什么

陕西 网站建设 陕ICP,网站建设与管理主要学什么,手机图文制作软件,网页设计如何居中1.题目解析 题目来源 1049.最后一块石头的重量II——力扣 测试用例 2.算法原理 首先需要将该问题转化为0-1背包问题后再做分析 1.状态表示 根据数学中的知识我们知道将一个数字分为两个子数后求这两个子数的最小差值,那么就要求这两个子数尽可能接近于原数字的一…

1.题目解析

题目来源

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

测试用例 

2.算法原理

首先需要将该问题转化为0-1背包问题后再做分析 

 

1.状态表示

根据数学中的知识我们知道将一个数字分为两个子数后求这两个子数的最小差值,那么就要求这两个子数尽可能接近于原数字的一半,那么就一定会出现一大一小两个数或者两个相等的数,这时就需要去找总和不大于原数字一半的数字,然后找到另一半,用另一半减去找到的数字即可,所以需要二维dp表,第一个下标表示已经寻找数字的区间,第二个下标表示此时已寻找并选择数字的总和,即dp[i][j]:在[1,i]区间选择的数字总和不大于(小于或等于) j 的总和大小

2.状态转移方程

首先依旧是背包问题的思路,对最后一个位置进行分类讨论,首先判断当第i个位置不会选取,此时就找到dp[i-1][j],判断此时的方法数;然后判断选取第i个位置的数,此时就需要寻找到dp[i-1][j-nums[i-1]]这个位置的dp表的值,然后加到总方法数中去,当然需要判断j>=nums[i-1]

3.初始化

4.填表顺序

从上到下,每一行从左到右

5.返回值

返回两个子数相减,也就是sum - dp[n][aim]*2(sum - dp[n][aim] 与 dp[n][aim]两个子数)

3.实战代码

class Solution {
public:int lastStoneWeightII(vector<int>& stones){int sum = 0;for(auto e : stones){sum += e;}    int aim = sum / 2;int n = stones.size();vector<vector<int>> dp(n+1,vector<int>(aim+1));for(int i = 1;i <= n;i++){for(int j = 0;j <= aim;j++){dp[i][j] = dp[i-1][j];if(j >= stones[i-1]){dp[i][j] = max(dp[i][j],dp[i-1][j - stones[i-1]] + stones[i-1]);}}}return sum - dp[n][aim] - dp[n][aim];}
};

 代码解析

空间优化 

http://www.tj-hxxt.cn/news/103257.html

相关文章:

  • 阜阳网站制作公司去哪找网络营销网站推广方法
  • 学校风采网站建设需求友点企业网站管理系统
  • 做网站刷东西seo关键词排名教程
  • ps如何做psd模板下载网站百度网站站长工具
  • 网站建设 考题设计本网站
  • 做外贸营销型网站网络黄页推广大全
  • 宝安区做网站搭建网站平台需要多少钱
  • 建站宝盒破解版信息流优化师证书
  • 德清建设银行官方网站优化网站怎么真实点击
  • 专业软件网站建设如何搭建企业网站
  • 网页制作软件hb北京网站优化价格
  • 怎么向谷歌提交网站seo虚拟外链
  • 宠物网站建设需求分析合肥seo优化外包公司
  • 自己做网站怎么选架构最大的推广平台
  • 男女做暧昧视频网站推广赚钱的项目
  • 织梦m网站伪静态珠海网站设计
  • 网站开发前端后端书籍百度平台推广联系方式
  • 建设网站的一般步骤是网页快照
  • html5购物网站模板关键词优化排名哪家好
  • 网站开发网页上传和网页发布网络营销公司简介
  • 大通县公司网站建设百度推广好不好做
  • 长安东莞网站推广网络营销百科
  • 网站怎么做聚合页面关键词排名优化流程
  • 南阳高质量建设大城市网站品牌推广的目的和意义
  • wordpress网仿站江西省seo
  • 专业网站建设哪家更好百度百科词条入口
  • 网站流量外流百度广告联盟app下载官网
  • 珠海网站建设哪家好5g影讯5g天线在线观看免费视频
  • 黑群晖做php网站长春seo结算
  • 手机套 东莞网站建设2021十大网络舆情案例