5920. 分配給商店的最多商品的最小值

5920. 分配給商店的最多商品的最小值

給你一個整數?n?,表示有?n?間零售商店。總共有?m?種產品,每種產品的數目用一個下標從 0?開始的整數數組?quantities?表示,其中?quantities[i]?表示第?i?種商品的數目。

你需要將 所有商品?分配到零售商店,并遵守這些規則:

一間商店 至多?只能有 一種商品 ,但一間商店擁有的商品數目可以為?任意?件。
分配后,每間商店都會被分配一定數目的商品(可能為 0?件)。用?x?表示所有商店中分配商品數目的最大值,你希望 x?越小越好。也就是說,你想 最小化?分配給任意商店商品數目的 最大值?。
請你返回最小的可能的?x?。

示例 1:輸入:n = 6, quantities = [11,6]
輸出:3
解釋: 一種最優方案為:
- 11 件種類為 0 的商品被分配到前 4 間商店,分配數目分別為:2,3,3,3 。
- 6 件種類為 1 的商品被分配到另外 2 間商店,分配數目分別為:3,3 。
分配給所有商店的最大商品數目為 max(2, 3, 3, 3, 3, 3) = 3 。示例 2:輸入:n = 7, quantities = [15,10,10]
輸出:5
解釋:一種最優方案為:
- 15 件種類為 0 的商品被分配到前 3 間商店,分配數目為:5,5,5 。
- 10 件種類為 1 的商品被分配到接下來 2 間商店,數目為:5,5 。
- 10 件種類為 2 的商品被分配到最后 2 間商店,數目為:5,5 。
分配給所有商店的最大商品數目為 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 <= 10510^5105
  • 1 <= quantities[i] <= 10510^5105

解題思路

我們的目標最小化分配給任意商店商品數目的最大值,換句話說假設我們給某個商店最多分配商品的數量為k,而我們的目標就是要最小化這個k值,因此我們可知k值與能否將所有商品分配到商店是有單調性的

  • 當k值增大的時候,我們可以給每家商店分配更多的同類商品,那么就必然可以將所有商品 分配到零售商店,例如n = 7, quantities = [15,10,10],我們只要將k設置為15,那么我們只需要3家商店就可以將商品分配完
  • 當k值減少時,我們需要更多的商店來接收商品,例如n = 7, quantities = [15,10,10],我們將k設置為4的話,那么我們就需要10家商店才能將商品分配完。

因此,我們根據這種單調性,可以利用二分搜索,找出可以將商品分配完的最小的那個k值

代碼

class Solution {
public:int minimizedMaximum(int n, vector<int>& quantities) {int m(0); for (auto c:quantities){m=max(c,m);}int l=1,r=m;while (l<=r){int mid=(r-l)/2+l;if (can_distribute(mid,quantities,n)){r=mid-1;}else l=mid+1;}return l;}bool  can_distribute(int tar,vector<int>& quantities,int n){for (auto q:quantities){n-=(q%tar==0?q/tar:(q/tar)+1);}return n>=0;}
};

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/389854.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/389854.shtml
英文地址,請注明出處:http://en.pswp.cn/news/389854.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

A*

轉自http://www.mamicode.com/info-detail-1534200.html康托展開X a[1]*(n-1)!a[2]*(n-2)!...a[i]*(n-i)!...a[n-1]*1!a[n]*0!其中a[i]表示在num[i1..n]中比num[i]小的數的數量逆康托展開由于&#xff1a;a[i]≤n-i, a[i]*(n-i)!≤(n-i)*(n-i)!<(n-i1)!于是我們得到&#x…

unity第三人稱射擊游戲_在游戲上第3部分完美的信息游戲

unity第三人稱射擊游戲Previous article上一篇文章 The economics literature distinguishes the quality of a game’s information (perfect vs. imperfect) from the completeness of a game’s information (complete vs. incomplete). Perfect information means that ev…

JVM(2)--一文讀懂垃圾回收

與其他語言相比&#xff0c;例如c/c&#xff0c;我們都知道&#xff0c;java虛擬機對于程序中產生的垃圾&#xff0c;虛擬機是會自動幫我們進行清除管理的&#xff0c;而像c/c這些語言平臺則需要程序員自己手動對內存進行釋放。 雖然這種自動幫我們回收垃圾的策略少了一定的靈活…

2058. 找出臨界點之間的最小和最大距離

2058. 找出臨界點之間的最小和最大距離 鏈表中的 臨界點 定義為一個 局部極大值點 或 局部極小值點 。 如果當前節點的值 嚴格大于 前一個節點和后一個節點&#xff0c;那么這個節點就是一個 局部極大值點 。 如果當前節點的值 嚴格小于 前一個節點和后一個節點&#xff0c;…

tb計算機存儲單位_如何節省數TB的云存儲

tb計算機存儲單位Whatever cloud provider a company may use, costs are always a factor that influences decision-making, and the way software is written. As a consequence, almost any approach that helps save costs is likely worth investigating.無論公司使用哪種…

nginx簡單代理配置

原文&#xff1a;https://my.oschina.net/wangnian/blog/791294 前言 Nginx ("engine x") 是一個高性能的HTTP和反向代理服務器&#xff0c;也是一個IMAP/POP3/SMTP服務器。Nginx是由Igor Sysoev為俄羅斯訪問量第二的Rambler.ru站點開發的&#xff0c;第一個公開版本…

2059. 轉化數字的最小運算數

2059. 轉化數字的最小運算數 給你一個下標從 0 開始的整數數組 nums &#xff0c;該數組由 互不相同 的數字組成。另給你兩個整數 start 和 goal 。 整數 x 的值最開始設為 start &#xff0c;你打算執行一些運算使 x 轉化為 goal 。你可以對數字 x 重復執行下述運算&#xf…

Django Rest Framework(一)

一、什么是RESTful REST與技術無關&#xff0c;代表一種軟件架構風格&#xff0c;REST是Representational State Transfer的簡稱&#xff0c;中文翻譯為“表征狀態轉移”。 REST從資源的角度審視整個網絡&#xff0c;它將分布在網絡中某個節點的資源通過URL進行標識&#xff0c…

光落在你臉上,可愛一如往常

沙沙野 https://www.ssyer.com讓作品遇見全世界圖片來自&#xff1a;沙沙野沙沙野 https://www.ssyer.com讓作品遇見全世界圖片來自&#xff1a;沙沙野沙沙野 https://www.ssyer.com讓作品遇見全世界圖片來自&#xff1a;沙沙野沙沙野 https://www.ssyer.com讓作品遇見全世界圖…

數據可視化機器學習工具在線_為什么您不能跳過學習數據可視化

數據可視化機器學習工具在線重點 (Top highlight)There’s no scarcity of posts online about ‘fancy’ data topics like data modelling and data engineering. But I’ve noticed their cousin, data visualization, barely gets the same amount of attention. Among dat…

2047. 句子中的有效單詞數

2047. 句子中的有效單詞數 句子僅由小寫字母&#xff08;‘a’ 到 ‘z’&#xff09;、數字&#xff08;‘0’ 到 ‘9’&#xff09;、連字符&#xff08;’-’&#xff09;、標點符號&#xff08;’!’、’.’ 和 ‘,’&#xff09;以及空格&#xff08;’ &#xff09;組成。…

fa

轉載于:https://www.cnblogs.com/smallpigger/p/9546173.html

python中nlp的庫_用于nlp的python中的網站數據清理

python中nlp的庫The most important step of any data-driven project is obtaining quality data. Without these preprocessing steps, the results of a project can easily be biased or completely misunderstood. Here, we will focus on cleaning data that is composed…

51Nod 1043 幸運號碼

1 #include <stdio.h>2 #include <algorithm>3 using namespace std;4 5 typedef long long ll;6 const int mod 1e9 7;7 int dp[1010][10000];8 // dp[i][j] : i 個數&#xff0c;組成總和為j 的數量9 10 int main() 11 { 12 int n; 13 scanf("%d…

一張圖看懂云棲大會·上海峰會重磅產品發布

2018云棲大會上海峰會上&#xff0c;阿里云重磅發布一批產品并宣布了新一輪的價格調整&#xff0c;再次用科技普惠廣大開發者和用戶&#xff0c;詳情見長圖。 了解更多產品請戳&#xff1a;https://yunqi.aliyun.com/2018/shanghai/product?spm5176.8142029.759399.2.a7236d3e…

488. 祖瑪游戲

488. 祖瑪游戲 你正在參與祖瑪游戲的一個變種。 在這個祖瑪游戲變體中&#xff0c;桌面上有 一排 彩球&#xff0c;每個球的顏色可能是&#xff1a;紅色 ‘R’、黃色 ‘Y’、藍色 ‘B’、綠色 ‘G’ 或白色 ‘W’ 。你的手中也有一些彩球。 你的目標是 清空 桌面上所有的球。…

【黑客免殺攻防】讀書筆記14 - 面向對象逆向-虛函數、MFC逆向

虛函數存在是為了克服類型域解決方案的缺陷&#xff0c;以使程序員可以在基類里聲明一些能夠在各個派生類里重新定義的函數。 1 識別簡單的虛函數 代碼示例&#xff1a; #include "stdafx.h" #include <Windows.h>class CObj { public:CObj():m_Obj_1(0xAAAAAA…

怎么看另一個電腦端口是否通_誰一個人睡覺另一個看看夫妻的睡眠習慣

怎么看另一個電腦端口是否通In 2014, FiveThirtyEight took a survey of about 1057 respondents to get a look at the (literal) sleeping habits of the American public beyond media portrayal. Some interesting notices: first, that about 45% of all couples sleep to…

495. 提莫攻擊

495. 提莫攻擊 在《英雄聯盟》的世界中&#xff0c;有一個叫 “提莫” 的英雄。他的攻擊可以讓敵方英雄艾希&#xff08;編者注&#xff1a;寒冰射手&#xff09;進入中毒狀態。 當提莫攻擊艾希&#xff0c;艾希的中毒狀態正好持續 duration 秒。 正式地講&#xff0c;提莫在…

Java基礎之Collection和Map

List&#xff1a;實現了collection接口&#xff0c;list可以重復&#xff0c;有順序 實現方式&#xff1a;3種&#xff0c;分別為&#xff1a;ArrayList&#xff0c;LinkedList&#xff0c;Vector。 三者的比較&#xff1a; ArrayList底層是一個動態數組&#xff0c;數組是使用…