当前位置: 首页 > 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.ds6.com.cn/news/30085.html

相关文章:

  • 为什么需要建设网站百度大数据查询怎么用
  • 网站建设维护公司资质江北seo综合优化外包
  • 外贸英文网站制作四川省人民政府官网
  • wordpress替换百度站内搜索西宁网站seo
  • 开发公司网签价格班级优化大师使用心得
  • 如何仿做别人的网站站长工具最近查询
  • 网站建设制作设计优化实时热点新闻
  • 做网站做58好还是赶集好商品推广软文写作500字
  • 贵阳网站设计找哪家广州网站排名推广
  • 夜晚很晚视频免费素材网站seo咨询服务价格
  • 重庆网站建设定制百度推广怎么联系
  • phpcms可以做网站吗西安seo排名外包
  • 装修做劳务去哪个网站找工地杭州推广平台有哪些
  • 西安网站建设公司都有哪些优化设计五年级下册语文答案
  • 客户网站建设杭州seo工作室
  • 苹果id钓鱼网站怎么做个人网站模板
  • dede做招聘网站营销网站做的好的公司
  • 网站开发多少钱农民和生活app下载安装最新版
  • 网站建设电话客服话术我想做电商怎么加入
  • 忻州做网站安卓手机优化软件排名
  • bl做视频网站电商网站商品页的优化目标是什么
  • 网站建设彩票网站优化课程
  • 天津业之峰装饰公司官网关键词优化排名用哪些软件比较好
  • 太原市住房和城乡建设局网站首页广告投放优化师
  • 品牌网站建设要多少钱搜索引擎的三个技巧
  • 梁平集团网站建设seo是什么意思中文
  • 哀悼日 网站黑色代码免费推广的网站平台
  • 服装网站设计百度搜索指数排名
  • 咋做网站seo是怎么优化
  • 中江县 网站建设国内设计公司前十名