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

wap网站html5wordpress主体功能开关

wap网站html5,wordpress主体功能开关,甘南网站建设公司,百度搜索不到任何网站题意理解#xff1a; 有一堆石头#xff0c;用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合#xff0c;从中选出任意两块石头#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y#xff0c;且 x y。 思路转化#xff1a;我们可… 题意理解         有一堆石头用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。         每一回合从中选出任意两块石头然后将它们一起粉碎。假设石头的重量分别为 x 和 y且 x y。         思路转化我们可以将题目转换为将石头分为大小相等差不多的两堆然后相互去撞击这样留下来的残余的石头就是可剩余的最小重量。         如何将石头分为大小相等的两堆呢。         targetsum(stones[])/2向上取整         ressum(stones[])-target 表示剩余的石头重量         此时再一次将题目转换为0-1背包问题         target表示背包重量stones表示物品stones[i]表示第i块石头的重量和价值。         此时问题转换为将物品装入大小为target的背包能获得的最大价值maxValue         此时石头被分为maxValue和sum-maxValue大小的两堆         res|sum-maxValue-maxValue|此时获得最小剩余大小的石头 解题思路         首先理解题意将其转换为一个背包问题使用动态规划的思路来求解。         动态规划五部曲         1dp[i][j]或dp[i]的含义         2递推公式                 dp[i][j]max(dp[i-1][j],dp[i-1][j-weight[i]]values[i])或                 dp[j]max(dp[j],dp[j-weight[i]]values[i])         3根据题意初始化         4遍历求解:先遍历包还是先遍历物品         5打印——debug 1.动态规划二维dp数组 dp[i][j]表示下标[0,j]的元素任务放入大小为j的背包能获得的最大价值递推公式dp[i][j]max(dp[i-1][j],dp[i-1][j-weight[i]]values[i])初始化第一行第一列。遍历由于二维数组完整保留了两个维度所有信息所以先遍历背包还是先遍历物品都是可以的。 public int lastStoneWeightII(int[] stones) {int sum0;for(int num:stones)sumnum;int target(int)Math.ceil(sum/2);int[][] dpnew int[stones.length][target1];//初始化for(int[] tmp:dp) Arrays.fill(tmp,-1);for(int i0;istones.length;i) dp[i][0]0;for(int j1;jtarget;j){if(stones[0]j) dp[0][j]0;else dp[0][j]stones[0];}//遍历for(int i1;istones.length;i){for(int j1;jtarget;j){if(stones[i]j){dp[i][j]dp[i-1][j];}else{dp[i][j]Math.max(dp[i-1][j],dp[i-1][j-stones[i]]stones[i]);}}}return Math.abs(sum-dp[stones.length-1][target]*2);} 2.一维滚动数组——存储压缩 dp[j]表示装满大小为j的背包所能获得的最大价值。递推公式dp[j]max(dp[j],dp[j-weight[i]]values[i])初始化右边的值总是由最左边的值推导而来而最坐标的值dp[0]表示背包大小为0所能获得的最大价值所以有dp[0]0.将所有元素初始化为0遍历由于以为滚动数组是二维dp数组的动态行滚动更新所以遍历顺序总是先物品后背包。注意为了防止用同层修改过的值修改本行其他值导致物体重复放置故采用倒序遍历背包。 public int lastStoneWeightII2(int[] stones) {int sum0;for(int num:stones)sumnum;int target(int)Math.ceil(sum/2);int[] dpnew int[target1];//初始化Arrays.fill(dp,0);//遍历for(int i1;istones.length;i){for(int jtarget;j0;j--){if(stones[i]j){dp[j]dp[j];}else{dp[j]Math.max(dp[j],dp[j-stones[i]]stones[i]);}}}return Math.abs(sum-dp[target]*2);} 3.分析 时间复杂度O(n*target) 空间复杂度         二维O(n*target)         一维O(target) n是nums的长度target是sum(stones)/2的大小
http://www.pierceye.com/news/359777/

相关文章:

  • 行业门户网站php网站开发程序
  • 广州微信网站建设报价表上海注销营业执照流程
  • 陕西省建设执业资格注册中心网站科技有限公司 翻译
  • 做推广都有哪些网站网站怎么上传源码
  • discuz门户网站模板手机电子商务网站规划书范文
  • vps能同时做网站同时做其它事吗wordpress 支持小工具
  • 网站建设制作网络公司wordpress 汽车模板
  • 有哪些做外贸的网站网站快速搭建平台
  • wordpress搜索代码制做优化精灵
  • 连云港做网站推广东莞seo
  • 专业网站设计公司和普通设计公司的区别微信分销网站建设
  • 青海个人旅游网站建设网站建设教程软件下载
  • 做AMC12的题的网站龙华网站建设专业公司
  • 莱州网站制作友情链接交换形式
  • 如何编写网站做美食类网站现状
  • 一站式推广平台做家装模型的效果图网站
  • 企业电子商务网站开发实验报告苏州建筑设计公司排名
  • 网站的优化与网站建设有关吗网站先做移动站在做pc站可行吗
  • 河北网站制作公司电话建设网站的情况说明
  • 高校网站平台建设wordpress小工具不见了
  • 网站建设 会计处理北京垡头网站建设公司
  • 唐山网站制作案例网站建设中标
  • 网站开发培训费济南网络优化推广公司哪家好
  • 谷歌网站优化可以做物理题的网站
  • 公司的网站建设是什么部门品牌餐饮加盟网站建设
  • 深圳品牌网站建设公司哪家好学建网站 必须学那些知识
  • 国内设计网站推荐山东省建设安全生产协会网站
  • 南京专业网站开发团队如何用手机建网站
  • 在婚恋网站上做红娘怎么样正规网络推广服务
  • 网络媒体设计是做什么的西安网站优化公司