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

苏州做网站公司怎样做网站规划

苏州做网站公司,怎样做网站规划,wordpress自定义页面模板,深圳网站建设 site1049. 最后一块石头的重量 II 有一堆石头#xff0c;用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合#xff0c;从中选出任意两块石头#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y#xff0c;且 x y。那么粉碎的可能结果…1049. 最后一块石头的重量 II 有一堆石头用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合从中选出任意两块石头然后将它们一起粉碎。假设石头的重量分别为 x 和 y且 x y。那么粉碎的可能结果如下 如果 x y那么两块石头都会被完全粉碎如果 x ! y那么重量为 x 的石头将会完全粉碎而重量为 y 的石头新重量为 y-x。 最后最多只会剩下一块 石头。返回此石头 最小的可能重量 。如果没有石头剩下就返回 0。 示例 1 输入stones [2,7,4,1,8,1] 输出1 解释 组合 2 和 4得到 2所以数组转化为 [2,7,1,8,1] 组合 7 和 8得到 1所以数组转化为 [2,1,1,1] 组合 2 和 1得到 1所以数组转化为 [1,1,1] 组合 1 和 1得到 0所以数组转化为 [1]这就是最优值。示例 2 输入stones [31,26,33,21,40] 输出5思路 //dp[j] 表示能装满容量为j的背包的最大价值。这里的价值就是石头的重量 //dp[j] max[dp[j],dp[j-stone[i]]stone[i]]; //初始化为0 //遍历顺序 //打印dp数组 代码 class Solution { public:int lastStoneWeightII(vectorint stones) {//dp[j] 表示能装满容量为j的背包的最大价值。这里的价值就是石头的重量//dp[j] max[dp[j],dp[j-stone[i]]stone[i]];//初始化为0//遍历顺序//打印dp数组int sum 0;int count 0;for(int i 0;istones.size();i){sumstones[i];}count sum /2;vectorintdp(count1,0);for(int i 0;istones.size();i){for(int j count;jstones[i];j--){dp[j] max(dp[j],dp[j-stones[i]]stones[i]);}}return sum-2*dp[count];} }; 494. 目标和 给你一个非负整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加  或 - 然后串联起所有整数可以构造一个 表达式  例如nums [2, 1] 可以在 2 之前添加  在 1 之前添加 - 然后串联起来得到表达式 2-1 。 返回可以通过上述方法构造的、运算结果等于 target 的不同 表达式 的数目。 示例 1 输入nums [1,1,1,1,1], target 3 输出5 解释一共有 5 种方法让最终目标和为 3 。 -1 1 1 1 1 3 1 - 1 1 1 1 3 1 1 - 1 1 1 3 1 1 1 - 1 1 3 1 1 1 1 - 1 3示例 2 输入nums [1], target 1 输出1思路 //dp[j] 表示有dp[j]种方法让最终目标和为j。 //dp[j] dp[j-nums[i]]; //初始化dp[0] dp[1] 1; //遍历顺序 //打印dp数组 //背包容量 令负数绝对值和为 right, 正数和为left则有leftright sum, left sum -right // target right - left;  right lefttarget //right -target sum -right //right (targetsum)/2 代码 class Solution { public:int findTargetSumWays(vectorint nums, int target) {//dp[j] 表示有dp[j]种方法让最终目标和为j。//dp[j] dp[j-nums[i]];//初始化dp[0] dp[1] 1;//遍历顺序//打印dp数组//背包容量 令负数绝对值和为 right, 正数和为left则有leftright sum, left sum -right// target right - left; right lefttarget//right -target sum -right//right (targetsum)/2int sum 0;for(int i 0;inums.size();i){sum nums[i];} if(abs(target)sum) return 0;if((targetsum)% 21) return 0;int bagsize (target sum)/2;vectorintdp(bagsize1,0);dp[0] 1;for(int i 0;inums.size();i){for(int j bagsize;jnums[i];j--){dp[j] dp[j-nums[i]];}}return dp[bagsize];} }; 474. 一和零 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的长度该子集中 最多 有 m 个 0 和 n 个 1 。 如果 x 的所有元素也是 y 的元素集合 x 是集合 y 的 子集 。 示例 1 输入strs [10, 0001, 111001, 1, 0], m 5, n 3 输出4 解释最多有 5 个 0 和 3 个 1 的最大子集是 {10,0001,1,0} 因此答案是 4 。 其他满足题意但较小的子集包括 {0001,1} 和 {10,1,0} 。{111001} 不满足题意因为它含 4 个 1 大于 n 的值 3 。示例 2 输入strs [10, 0, 1], m 1, n 1 输出2 解释最大的子集是 {0, 1} 所以答案是 2 。思路 //dp[i][j]表示i个0j个1的最大子集个数dp[i][j] //dp[i][j] max(dp[i][j],dp[i-zore][j-one]1) //初始化dp[0][0] 0; //遍历顺序 //打印dp数组 代码 class Solution { public:int findMaxForm(vectorstring strs, int m, int n) {//dp[i][j]表示i个0j个1的最大子集个数dp[i][j]//dp[i][j] max(dp[i][j],dp[i-zore][j-one]1)//初始化dp[0][0] 0;//遍历顺序//打印dp数组vectorvectorintdp(m1,vectorint(n1,0));for(string str:strs){int zore 0;int one 0;for(char c:str){if(c0)zore;elseone;}for(int i m;izore;i--){for(int j n;jone;j--){dp[i][j] max(dp[i][j],dp[i-zore][j-one]1);}}}return dp[m][n];} }; 还有很多瑕疵还需继续坚持
http://www.hkea.cn/news/14544348/

相关文章:

  • 电商网站设计欣赏wordpress 搭建个人网站
  • wordpress图片太大沈阳seo推广
  • 通化 网站建设寻找客户的渠道和方法
  • 网站建设 投资预算wordpress数据库丢失
  • 做直播券的网站有多少长沙旅游网站建设
  • 北京赛车网站开发百度指数下载手机版
  • 西部数码空间可以做会所网站吗电商网站如何备案
  • 外贸网站建设推广培训wordpress网站多语言包
  • 网站建设有几种方案网站建设方案书怎么签字上传
  • 微信网站 影楼张家界seo网站优化
  • 网站建设做得好的公司wordpress多种设备网页生成
  • 大专毕业设计网站宣传网站开发
  • 六安服装网站建设地址天津网站制作工具
  • 网站安全风险评估报告创建吃的网站怎么做
  • 自己如何做一个网站上海正规做网站公司报价
  • 临清住房建设网站自己的域名可以转给做网站的账号吗
  • 齐齐哈尔做网站的公司网站建立时间查询
  • 沈阳网站建站公司wordpress 侧边宽度
  • 网站开发和网页设计的区别下载国家医保服务平台app
  • 犀牛云网站做的怎么样商城app免费制作
  • 会员制网站 建设divider wordpress
  • 新农村建设的网站住房和城乡建设部网站诚信评价
  • 手机网站推荐什么叫建网站
  • 抚州市临川区建设局网站app制作平台灼灼琉璃夏漫画
  • 网站建设企业电话wordpress章节分页
  • 济南网站建设优化公司百度学术官网首页
  • 衡水wap网站建设apache添加多个网站
  • 合肥网站建设首选众龙网站工作和网站建设管理工作
  • 自助建设彩票网站百度搜索排名规则
  • 滕州手机网站建设应用软件开发工程师