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

织梦门户网站模板/促销方法100种

织梦门户网站模板,促销方法100种,河南网站建设品牌,网站建设公司山西问题背景 给你一个下标从 0 0 0 开始的 二进制 字符串 f l o o r floor floor,它表示地板上砖块的颜色。 f l o o r [ i ] floor[i] floor[i] 为 ‘0’ 表示地板上第 i i i 块砖块的颜色是 黑色 。 f l o o r [ i ] floor[i] floor[i] 为’1’ 表示地板上第 i …

问题背景

给你一个下标从 0 0 0 开始的 二进制 字符串 f l o o r floor floor,它表示地板上砖块的颜色。

  • f l o o r [ i ] floor[i] floor[i] 为 ‘0’ 表示地板上第 i i i 块砖块的颜色是 黑色
  • f l o o r [ i ] floor[i] floor[i] 为’1’ 表示地板上第 i i i 块砖块的颜色是 白色

同时给你 n u m C a r p e t s numCarpets numCarpets c a r p e t L e n carpetLen carpetLen。你有 n u m C a r p e t s numCarpets numCarpets黑色 的地毯,每一条 黑色 的地毯长度都为 c a r p e t L e n carpetLen carpetLen 块砖块。请你使用这些地毯去覆盖砖块,使得未被覆盖的剩余 白色 砖块的数目 最小 。地毯相互之间可以覆盖。
请你返回没被覆盖的白色砖块的 最少 数目。

数据约束

  • 1 ≤ c a r p e t L e n ≤ f l o o r . l e n g t h ≤ 1000 1 \le carpetLen \le floor.length \le 1000 1carpetLenfloor.length1000
  • f l o o r [ i ] floor[i] floor[i]要么是 ‘0’ ,要么是 ‘1’ 。
  • 1 ≤ n u m C a r p e t s ≤ 1000 1 \le numCarpets \le 1000 1numCarpets1000

解题过程

比较标准的动态规划模板题,关键是定义清楚状态,这里用 i i i表示剩余的地毯数量, j j j表示剩余的砖块数量。
空间优化的做法没完全理解,先不要求。

具体实现

递归

class Solution {public int minimumWhiteTiles(String floor, int numCarpets, int carpetLen) {int n = floor.length();int[][] memo = new int[numCarpets + 1][n];for (int[] row : memo) {Arrays.fill(row, -1);}return dfs(numCarpets, n - 1, floor.toCharArray(), memo, carpetLen);}private int dfs(int i, int j, char[] floor, int[][] memo, int carpetLen) {if (j < carpetLen * i) {return 0;}if (memo[i][j] != -1) {return memo[i][j];}int res = dfs(i, j - 1, floor, memo, carpetLen) + floor[j] - '0';if (i > 0) {res = Math.min(res, dfs(i - 1, j - carpetLen, floor, memo, carpetLen));}return memo[i][j] = res;}
}

递推

class Solution {public int minimumWhiteTiles(String floor, int numCarpets, int carpetLen) {char[] chF = floor.toCharArray();int n = chF.length;int[][] dp = new int[numCarpets + 1][n];dp[0][0] = chF[0] - '0';for (int j = 1; j < n; j++) {dp[0][j] = dp[0][j - 1] + chF[j] - '0';}for (int i = 1; i <= numCarpets; i++) {for (int j = carpetLen * i; j < n; j++) {dp[i][j] = Math.min(dp[i][j - 1] + chF[j] - '0', dp[i - 1][j - carpetLen]);}}return dp[numCarpets][n - 1];}
}
http://www.whsansanxincailiao.cn/news/32056194.html

相关文章:

  • 百度不收入我的网站了/常见的系统优化软件
  • 少儿编程收费价目表/seo的目的是什么
  • 如何用源码搭建网站/seo兼职接单平台
  • 科技建站网站源码/一个域名大概能卖多少钱
  • 无锡网站建设设计公司/网络营销ppt讲解
  • 开发手机端网站模板/网站优化seo培训
  • wordpress页面标题标签/重庆百度搜索优化
  • 做户外照明有哪些网站/凡科建站代理
  • 企业网站制作前期需要什么资料/大连企业黄页电话
  • 网站后台无法上传本地图片/营销到底是干嘛的
  • 去哪里找做网站 的客户/网络排名优化软件
  • .net做的网站代码/微信推广
  • 在国外做网站推广/免费网站的软件
  • 营销型网站报价明细/百度云资源搜索入口
  • 超大网站制作素材/网站关键词优化公司
  • 南通wap网站建设/网站怎么制作
  • .net 网站开发视频/互联网行业都有哪些工作
  • 住房和城乡建设查询平台官网/cpu游戏优化加速软件
  • 注册公司在哪个网站注册/百度推广管理
  • 企业网站怎么自适应/口碑营销推广
  • wordpress 音乐列表/西安全网优化
  • 日本做灯具公司网站/湖北疫情最新情况
  • 钢板防护罩做网站/开封网络推广哪家好
  • 北辰网站建设公司/优化英语
  • 网络营销课程实训报告/深圳企业seo
  • 杨浦企业网站建设/百度热度榜搜索趋势
  • 网站名称注册程序/网络营销推广是做什么的
  • 舆情网站推荐/国外域名注册平台
  • 网站备案的规定/企业网站制作哪家好
  • 字体在线设计网站/志鸿优化网