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

门户网站开发平台品牌推广岗位

门户网站开发平台,品牌推广岗位,技工设计制作义齿图片,海澜之家的网站建设目标大家好#xff0c;我是星恒#xff0c;今天给大家带来的是一道比较正常的二分题目 题目#xff1a;leetcode 2861假设你是一家合金制造公司的老板#xff0c;你的公司使用多种金属来制造合金。现在共有 n 种不同类型的金属可以使用#xff0c;并且你可以使用 k 台机器来制… 大家好我是星恒今天给大家带来的是一道比较正常的二分题目 题目leetcode 2861假设你是一家合金制造公司的老板你的公司使用多种金属来制造合金。现在共有 n 种不同类型的金属可以使用并且你可以使用 k 台机器来制造合金。每台机器都需要特定数量的每种金属来创建合金。对于第 i 台机器而言创建合金需要 composition[i][j] 份 j 类型金属。最初你拥有 stock[i] 份 i 类型金属而每购入一份 i 类型金属需要花费 cost[i] 的金钱。给你整数 n、k、budget下标从 1 开始的二维数组 composition两个下标从 1 开始的数组 stock 和 cost请你在预算不超过 budget 金钱的前提下最大化 公司制造合金的数量。所有合金都需要由同一台机器制造。返回公司可以制造的最大合金数。 示例 示例 1 输入n 3, k 2, budget 15, composition [[1,1,1],[1,1,10]], stock [0,0,0], cost [1,2,3] 输出2 解释最优的方法是使用第 1 台机器来制造合金。 要想制造 2 份合金我们需要购买 - 2 份第 1 类金属。 - 2 份第 2 类金属。 - 2 份第 3 类金属。 总共需要 2 * 1 2 * 2 2 * 3 12 的金钱小于等于预算 15 。 注意我们最开始时候没有任何一类金属所以必须买齐所有需要的金属。 可以证明在示例条件下最多可以制造 2 份合金。示例 2 输入n 3, k 2, budget 15, composition [[1,1,1],[1,1,10]], stock [0,0,100], cost [1,2,3] 输出5 解释最优的方法是使用第 2 台机器来制造合金。 要想制造 5 份合金我们需要购买 - 5 份第 1 类金属。 - 5 份第 2 类金属。 - 0 份第 3 类金属。 总共需要 5 * 1 5 * 2 0 * 3 15 的金钱小于等于预算 15 。 可以证明在示例条件下最多可以制造 5 份合金。示例 3 输入n 2, k 3, budget 10, composition [[2,1],[1,2],[1,1]], stock [1,1], cost [5,5] 输出2 解释最优的方法是使用第 3 台机器来制造合金。 要想制造 2 份合金我们需要购买 - 1 份第 1 类金属。 - 1 份第 2 类金属。 总共需要 1 * 5 1 * 5 10 的金钱小于等于预算 10 。 可以证明在示例条件下最多可以制造 2 份合金。提示 1 n, k 1000 budget 108composition.length kcomposition[i].length n1 composition[i][j] 100stock.length cost.length n0 stock[i] 1081 cost[i] 100 分析这道题的思路是二分。因为制造数的范围是有限的是10^8 所以我们可以遍历可以制造数量的最大数利用二分来优化遍历使用的机器当使用这个数量制造金属时是否会超过预算。这样我们就可以遍历到需要的金属最大数。 这确实是很优质的解法我们来看看我们的暴力求解。乍一看这道题是让我们选择对机器然后计算能制造的金属数。对于确定使用的机器我们并没有什么好方法我们只能通过遍历比较哪台机器在budget下的制造的数量最多来侧面反应出哪个机器最多这也是计算机的擅长的事。我们来分析一下他的时间复杂度遍历每一种机器为n遍历最大金数数(budget/cost)计算一份合金所需花费k。总的时间复杂度O(n * (k budget/cost)) 题解 class Solution {public int maxNumberOfAlloys(int n, int k, int budget, ListListInteger composition, ListInteger stock, ListInteger cost) {int left 1, right 200000000, ans 0;while (left right) {int mid (left right) / 2;boolean valid false;for (int i 0; i k; i) {long spend 0;for (int j 0; j n; j) {spend Math.max((long) composition.get(i).get(j) * mid - stock.get(j), 0) * cost.get(j);}if (spend budget) {valid true;break;}}if (valid) {ans mid;left mid 1;} else {right mid - 1;}}return ans;} }时间复杂度O(nklogC) 如果大家有什么思考和问题可以在评论区讨论也可以私信我很乐意为大家效劳。好啦今天的每日一题到这里就结束了如果大家觉得有用可以可以给我一个小小的赞呢我们下期再见
http://www.pierceye.com/news/917196/

相关文章:

  • 怎么查看网站打开速度网站源码整站下载
  • 北京城乡住房建设部网站常见的网络营销推广方式有哪些
  • 做网站的成本费用钱宝网站怎么做任务
  • 网站上的格式用html怎么做部队网站设计
  • 帮客户做网站内容社交网站有哪些如何做
  • 网站开发与设计实训总结两千字公众号制作的网站开发
  • 一个公司做2个产品网站怎么做的用html5做的网站素材
  • 内乡网站建设咸阳网站建设报价
  • 企业网站多少钱扶余手机网站开发
  • 做外汇网站卖判刑多少年如何找回网站后台密码
  • 怎么做优惠券网站asp.net mvc 5网站开发之美
  • 网站底部浮动电话广告福建住房和城乡建设部网站
  • 建站之星破解版wordpress 置顶排序
  • c2c网站代表和网址涟源市建设局网站
  • 哪个网站有免费的模板免费网上商城系统
  • 一个网站的建设需要什么东西前十强排名家装公司
  • 广州网站建设报价表石家庄搜索排名提升
  • 网站备案步骤企业网站手机版模板免费下载
  • 郑州高端品牌网站建设镇江网站营销推广
  • 网站开发简单的框架南昌手机网站
  • 网站分析与优化百度新闻源网站有哪些
  • 直播网站开发秀色上海综合新闻
  • 电子商务网站建设与管理课后题答案企业网站推广哪家好
  • 网站被挂黑链怎么删除石家庄企业网站建设
  • 网站模板怎么连接域名可视化网页设计在线
  • 美术馆网站建设要求开发软件多少钱一个月
  • 直播网站开发核心技术wordpress访问次数插件
  • wap网站 劣势微信小程序怎么写
  • 商业网站开发与设计网站seo是什么意思
  • 内蒙古住房和城乡建设网站做网站的人怎么上传内容的