设计师个人网站欣赏 中国,html网页源码,长沙个人网站建设,网络整合营销案例文章目录1. 题目2. 解题1. 题目
给你一个整数 n #xff0c;表示有 n 间零售商店。 总共有 m 种产品#xff0c;每种产品的数目用一个下标从 0 开始的整数数组 quantities 表示#xff0c;其中 quantities[i] 表示第 i 种商品的数目。
你需要将 所有商品 分配到零售商店表示有 n 间零售商店。 总共有 m 种产品每种产品的数目用一个下标从 0 开始的整数数组 quantities 表示其中 quantities[i] 表示第 i 种商品的数目。
你需要将 所有商品 分配到零售商店并遵守这些规则
一间商店 至多 只能有 一种商品 但一间商店拥有的商品数目可以为 任意 件。分配后每间商店都会被分配一定数目的商品可能为 0 件。用 x 表示所有商店中分配商品数目的最大值你希望 x 越小越好。也就是说你想 最小化 分配给任意商店商品数目的 最大值 。
请你返回最小的可能的 x 。
示例 1
输入n 6, quantities [11,6]
输出3
解释 一种最优方案为
- 11 件种类为 0 的商品被分配到前 4 间商店分配数目分别为2333 。
- 6 件种类为 1 的商品被分配到另外 2 间商店分配数目分别为33 。
分配给所有商店的最大商品数目为 max(2, 3, 3, 3, 3, 3) 3 。示例 2
输入n 7, quantities [15,10,10]
输出5
解释一种最优方案为
- 15 件种类为 0 的商品被分配到前 3 间商店分配数目为555 。
- 10 件种类为 1 的商品被分配到接下来 2 间商店数目为55 。
- 10 件种类为 2 的商品被分配到最后 2 间商店数目为55 。
分配给所有商店的最大商品数目为 max(5, 5, 5, 5, 5, 5, 5) 5 。示例 3
输入n 1, quantities [100000]
输出100000
解释唯一一种最优方案为
- 所有 100000 件商品 0 都分配到唯一的商店中。
分配给所有商店的最大商品数目为 max(100000) 100000 。提示
m quantities.length
1 m n 10^5
1 quantities[i] 10^5来源力扣LeetCode 链接https://leetcode-cn.com/problems/minimized-maximum-of-products-distributed-to-any-store 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题
每个商店的商品数量变多需要的商店数量不会变多具有单调性直接二分查找答案
class Solution {
public:int minimizedMaximum(int n, vectorint quantities) {int l 1, r 100000, mid, ans;while(l r){mid (lr)1;if(ok(quantities, n, mid)){ans mid;r mid-1;}elsel mid1;}return ans;}bool ok(vectorint quantities, int n, int maxval){int market 0; // 每个商店的物品数量是maxval// 需要多少个商店来满足要求for(auto q : quantities){market ceil(q/double(maxval));}return market n; //需要的商店数量不超过 n 即可}
};176 ms 82.4 MB C 我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号Michael阿明一起加油、一起学习进步