当前位置:网站首页>Leetcode takes out the least number of magic beans
Leetcode takes out the least number of magic beans
2022-07-05 02:05:00 【I'm busy 2010】
To give you one just An array of integers beans
, Each integer represents the number of magic beans in a bag .
Please... From each bag take out Some beans ( It's fine too Don't take out ), Make the rest Non empty In the bag ( namely At least also One Magic bean bag ) Number of magic beans equal . Once the magic beans are removed from the bag , You can't put it in any other bag .
Please return to where you need to take out the magic beans Minimum number .
Example 1:
Input :beans = [4,1,6,5] Output :4 explain : - We never had 1 Take it out of a magic bean bag 1 A magic bean . The number of magic beans left in the bag is :[4,0,6,5] - Then we have 6 Take it out of a magic bean bag 2 A magic bean . The number of magic beans left in the bag is :[4,0,4,5] - Then we have 5 Take it out of a magic bean bag 1 A magic bean . The number of magic beans left in the bag is :[4,0,4,4] A total of 1 + 2 + 1 = 4 A magic bean , The number of magic beans left in the non empty bag is equal . Nothing is better than taking out 4 A plan with fewer magic beans .
Example 2:
Input :beans = [2,10,3,2] Output :7 explain : - We never had 2 Take it out of one of the bags of magic beans 2 A magic bean . The number of magic beans left in the bag is :[0,10,3,2] - Then we have... From another 2 Take it out of a magic bean bag 2 A magic bean . The number of magic beans left in the bag is :[0,10,3,0] - Then we have 3 Take it out of a magic bean bag 3 A magic bean . The number of magic beans left in the bag is :[0,10,0,0] A total of 2 + 2 + 3 = 7 A magic bean , The number of magic beans left in the non empty bag is equal . Nothing is better than taking out 7 A plan with fewer magic beans .
Tips :
1 <= beans.length <= 10^5
1 <= beans[i] <= 10^5
C++
class Solution {
public:
long long minimumRemoval(vector<int>& beans) {
long long sum=0;
int n=beans.size();
map<long,long> mp;
for(int i=0;i<n;i++) {
sum+=beans[i];
mp[beans[i]]++;
}
long long res=sum;
long long pre=0;
long long num=n;
for(auto it:mp) {
num-=it.second;
sum-=it.second*it.first;
res=min(res,sum-num*it.first+pre); // Based on the current quantity , The big one is flattened , Small discard
pre+=it.second*it.first;
}
return res;
}
};
边栏推荐
- Introduce reflow & repaint, and how to optimize it?
- 增量备份 ?db full
- One plus six brushes into Kali nethunter
- Win: add general users to the local admins group
- The perfect car for successful people: BMW X7! Superior performance, excellent comfort and safety
- Restful fast request 2022.2.1 release, support curl import
- Word processing software
- Win: use PowerShell to check the strength of wireless signal
- He was laid off.. 39 year old Ali P9, saved 150million
- C语音常用的位运算技巧
猜你喜欢
Win:使用 PowerShell 检查无线信号的强弱
Three properties that a good homomorphic encryption should satisfy
He was laid off.. 39 year old Ali P9, saved 150million
JVM - when multiple threads initialize the same class, only one thread is allowed to initialize
Write a thread pool by hand, and take you to learn the implementation principle of ThreadPoolExecutor thread pool
Unpool(nn.MaxUnpool2d)
STM32 series - serial port UART software pin internal pull-up or external resistance pull-up - cause problem search
Yyds dry inventory jetpack hit dependency injection framework Getting Started Guide
"C zero foundation introduction hundred knowledge and hundred cases" (72) multi wave entrustment -- Mom shouted for dinner
Exploration of short text analysis in the field of medical and health (II)
随机推荐
[技术发展-26]:新型信息与通信网络的数据安全
[機緣參悟-38]:鬼穀子-第五飛箝篇 - 警示之一:有一種殺稱為“捧殺”
[source code attached] Intelligent Recommendation System Based on knowledge map -sylvie rabbit
MySQL regexp: Regular Expression Query
pytorch fine-tuning (funtune) : 镂空设计or 偷梁换柱
MATLB | multi micro grid and distributed energy trading
[Digital IC hand tearing code] Verilog edge detection circuit (rising edge, falling edge, double edge) | topic | principle | design | simulation
[illumination du destin - 38]: Ghost Valley - chapitre 5 Flying clamp - one of the Warnings: There is a kind of killing called "hold Kill"
A label making navigation bar
Redis' hyperloglog as a powerful tool for active user statistics
Incremental backup? db full
Advanced conditional statements of common SQL operations
Using druid to connect to MySQL database reports the wrong type
Use the difference between "Chmod a + X" and "Chmod 755" [closed] - difference between using "Chmod a + X" and "Chmod 755" [closed]
phpstrom设置函数注释说明
Li Kou Jianzhi offer -- binary tree chapter
MySQL REGEXP:正则表达式查询
Restful fast request 2022.2.1 release, support curl import
Mysql database | build master-slave instances of mysql-8.0 or above based on docker
Visual explanation of Newton iteration method