给定允许拥有的最大项数,以及具有某些项数的桶(在数组中表示),如何编写算法来查找允许从每个桶中选择的最大项数(相同的数)? 例如,如果你有最多40个项目,你有4个桶——桶1里有20个项目,桶2里有20个项目,桶3里有1个项目,桶4里有1个项目——你最多可以从每个桶里挑选19个项目。你可以从第1桶和第2桶中选择19个,从第3桶和第4桶中选择1个,总共40个项目。 问题来源StackOverflow 地址:/questions/59383888/find-max-number-of-items-to-take-out-of-each-bucket
如果您知道每个桶中最多可以取多少项,那么您可以按大小对桶进行排序。然后简单地从桶中取元素,从最大的桶开始。每次您将取允许的最大元素或所有元素(如果桶小于允许的最大元素)。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。