LeetCode 1742. 盒子中小球的最大数量
admin
2024-02-10 09:06:33
0

【LetMeFly】1742.盒子中小球的最大数量

力扣题目链接:https://leetcode.cn/problems/maximum-number-of-balls-in-a-box/

你在一家生产小球的玩具厂工作,有 n 个小球,编号从 lowLimit 开始,到 highLimit 结束(包括 lowLimit 和 highLimit ,即 n == highLimit - lowLimit + 1)。另有无限数量的盒子,编号从 1infinity

你的工作是将每个小球放入盒子中,其中盒子的编号应当等于小球编号上每位数字的和。例如,编号 321 的小球应当放入编号 3 + 2 + 1 = 6 的盒子,而编号 10 的小球应当放入编号 1 + 0 = 1 的盒子。

给你两个整数 lowLimithighLimit ,返回放有最多小球的盒子中的小球数量如果有多个盒子都满足放有最多小球,只需返回其中任一盒子的小球数量。

 

示例 1:

输入:lowLimit = 1, highLimit = 10
输出:2
解释:
盒子编号:1 2 3 4 5 6 7 8 9 10 11 ...
小球数量:2 1 1 1 1 1 1 1 1 0  0  ...
编号 1 的盒子放有最多小球,小球数量为 2 。

示例 2:

输入:lowLimit = 5, highLimit = 15
输出:2
解释:
盒子编号:1 2 3 4 5 6 7 8 9 10 11 ...
小球数量:1 1 1 1 2 2 1 1 1 0  0  ...
编号 5 和 6 的盒子放有最多小球,每个盒子中的小球数量都是 2 。

示例 3:

输入:lowLimit = 19, highLimit = 28
输出:2
解释:
盒子编号:1 2 3 4 5 6 7 8 9 10 11 12 ...
小球数量:0 1 1 1 1 1 1 1 1 2  0  0  ...
编号 10 的盒子放有最多小球,小球数量为 2 。

 

提示:

  • 1 <= lowLimit <= highLimit <= 105

方法一:哈希表

题目分析

假设sss是数字nnn十进制下每一位的和,那么题目意思就是:将编号为nnn的小球放到编号为sss的盒子里。问将[lowLimit,hightLimit][lowLimit, hightLimit][lowLimit,hightLimit]范围内的所有小球都放到盒子中后,小球最多的盒子中有多少小球。

解题思路

那么很简单,就按照题目要求进行模拟呗

我们使用哈希表来统计每个盒子中小球的数量(这里换成数组也可,因为10510^5105范围内的小球所放到的最大盒子编号为9×5=459\times5=459×5=45,只需要开辟长度为464646的数组即可)

怎么计算出一个数字十进制下每一位的和呢?也很简单。在这个数字不为零时,不断取出这个数字十进制下的最后一位,并将这个数字除以101010即可。

int cnt = 0;
while (n) {cnt += n % 10;n /= 10;
}
// cnt即为n十进制下每一位的和

复杂度

  • 时间复杂度O((highLimit−lowLimit)×log⁡(highLimit))O((highLimit - lowLimit)\times \log(highLimit))O((highLimit−lowLimit)×log(highLimit))
  • 空间复杂度O(hightLimit×log⁡(highLimit))O(hightLimit\times \log(highLimit))O(hightLimit×log(highLimit))

AC代码

C++

class Solution {
public:int countBalls(int lowLimit, int highLimit) {unordered_map ma;for (int i = lowLimit; i <= highLimit; i++) {int n = i;int cnt = 0;while (n) {cnt += n % 10;n /= 10;}ma[cnt]++;}int ans = 0;for (auto&& [box, times] : ma) {ans = max(ans, times);}return ans;}
};

Python

极简Python版本

class Solution:def countBalls(self, lowLimit: int, highLimit: int) -> int:return max(Counter(sum(map(int, str(i))) for i in range(lowLimit, highLimit + 1)).values())

其中CounterCounterCounter函数来自collectionscollectionscollections

from collections import Counter

同步发文于CSDN,原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/127994569

相关内容

热门资讯

黄红日就任民生银行首席合规官 上证报中国证券网讯(记者 张琼斯)民生银行5月8日发布的关于首席合规官任职资格获国家金融监督管理总局...
文化和旅游部公布2026年第二...   原标题:旅游市场强制消费问题典型案例(2026年第二批)   “纠治旅游行业导游乱象、强制消费等...
7室5厅6卫,恒大原总裁豪宅被... 近日,广州市天河区清风南街11号的一套428平方米复式楼,被广州天河区人民法院在阿里法拍网挂拍,起拍...
原创 6... 俄罗斯于5月9日在莫斯科红场举行的反法西斯战争胜利81周年阅兵仪式吸引了全球的目光。这不仅仅是一场军...
庆祝5·12国际护士节系列活动... 新闻 为庆祝5·12国际护士节,我院护理部组织各专业护理骨干开展系列护理健康科普义诊活动。 庆祝护士...
合肥贵金属回收商家深度测评:资... 一、行业背景与测评方法论 据《2025年中国二手奢侈品及贵金属回收市场白皮书》数据显示,2025年全...
2026国内正规现货黄金交易平... 步入2026年第二季度,全球货币政策的转向与地缘经济的重构,使得现货黄金的避险属性再度成为财富管理的...
原创 谁... 老清我最近翻了翻股市榜单,发现个挺有意思的事儿:中国最值钱的有色金属公司紫金矿业,巅峰时市值接近万亿...
伯希和更名奔赴自然,再战港股I... 亿欧获悉,5月8日,奔赴自然户外运动集团股份有限公司向港交所递交更新后的招股申请文件,中金公司、中信...
融资节奏提速,伟测科技从11.... 5月9日,伟测科技(688372)发布向不特定对象发行可转换公司债券预案。公司拟发行可转债总额不超过...
美银大幅修正预期:美联储不太可... 【美银大幅修正预期:美联储不太可能在2027年前降息】财联社5月9日电,根据美国银行的最新预测,美联...
阶跃星辰,融资25亿美元,拟提... 来源:瑞恩资本RyanbenCapital 综合消息,「AI六小虎」之一、国产大模型公司阶跃星辰(...
精准服务民营经济高质量发展,深... 深圳商报·读创客户端首席记者 王海荣 5月9日下午,深圳市2026年服务民营经济系列活动——“宝企金...
聚焦长时储能与全球化布局——海... 2026年5月7日上午,位于重庆铜梁的海辰储能基地迎来了一批来自全国各地的媒体。海辰储能联合创始人、...
李开复筹划赴港上市?大模型零一... 又一家国产大模型即将赴港IPO?5月9日,有消息称,李开复创办的零一万物正在进行Pre-IPO融资,...
原创 低... 2020 年开年,反垄断的矛头指向外卖行业,曾经风靡一时的奶茶零元购、百亿补贴,似乎正在成为历史。这...
无问芯穹再获超7亿融资 CEO... 雷递网 乐天 5月7日 无问芯穹今日宣布此前已再获超7亿元融资,联合领投方为杭州高新金投集团和惠远资...
原创 目... 对于高房价这个事情,这几年似乎很少人提了,过去大家都提到高房价是最强的避孕药! 对于这种说法,其实很...
突发!投资大佬,清仓式减持AI... 在“美股七姐妹”中,微软有一个独一无二的纪录:连续25年稳居标普500指数前十权重股。 如今,它却要...
CEO已癫!醉心造车的追觅:会... “这是抖音的极限,不是我的极限。”每天狂发75条短视频的追觅创始人俞浩,认为平台规则限制了他的发挥。...