首页 > 其他分享 >盒子中小球的最大数量

盒子中小球的最大数量

时间:2022-11-23 09:58:46浏览次数:75  
标签:盒子 int 小球 highLimit lowLimit 编号 数量

题目

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

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

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

示例 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 <= 10的五次方

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/maximum-number-of-balls-in-a-box
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解法

  • 解题思路
    计算出每个编号的求都放在哪个盒子里。利用数组模拟哈希表,可以记录每个盒子都有多少球。
    题目里面的highLimit写的是10的五次方,但测试用例有28696这样的数据,所以,我将数组长度设置为46,5*9+1(数组相当于从1开始)。
    //99999
    public static int countBalls(int lowLimit, int highLimit) {
        int n = highLimit-lowLimit+1;
        //5*9+1
        int[] nums= new int[46];
        int max=0;
        for (int i = lowLimit; i <= highLimit; i++) {
            int boxIndex=getBoxIndex(i);
            nums[boxIndex]++;
            max=nums[boxIndex]>max?nums[boxIndex]:max;
        }
        return max;
    }
    public static int getBoxIndex(int num)
    {
        int rs=0;
        while (num>0)
        {
            rs+=num%10;
            num=num/10;
        }
        return rs;
    }

标签:盒子,int,小球,highLimit,lowLimit,编号,数量
From: https://www.cnblogs.com/huacha/p/16917294.html

相关文章

  • 51nod 1165 整边直角三角形的数量 【数学:公式--求约数】
    1165 整边直角三角形的数量基准时间限制:2 秒空间限制:131072 KB分值: 160 难度:6级算法题 收藏 关注直角三角形,三条边的长度都......
  • 利用 python将 Excel 统计完的材料数量填入桥梁工程数量表中(填入的是公式)
    全桥桥梁材料数量计算完后,需要填入相应表格中,原来我都是手输入=后面表格的内容,这个过程无聊、机械、费眼、还容易出错,现在我终于编辑了一个能自动填公式的python程序。......
  • 数量4-排列组合
    1234方法2,可能性大于或等于3种时,反面推比较简单,反面为全A或全B(全B根本不够排除,剩下全A,全A就1种)5678要理解小学生条件含义,自己没有画图导致错了。......
  • 数量3-经济利润问题
    方法2直接分析靠,题目看错了,虽然包邮,但是邮费要自己出,我看成后面才要邮费了。经典给比列求比例题型......
  • 计算单词数量
    #include<stdio.h>intmain(){ charstring[81]; inti,num=0,word=0; charc; gets(string); for(i=0;(c=string[i])!='\0';i++) if(c=='')word=0; elseif......
  • day29 - 盒子模型
    盒子模型   元素加paddingbordermargin组成一个封装的盒子。可以设置外边距等操作对盒子进行一个设计首先进行一个body对登录元素进行一个列表设计 1<bod......
  • CSS属性2_盒子模型和CSS案例_注册页面
    CSS属性2_盒子模型:1.盒子模型:控制布局margin:外边距padding:内边距默认情况下内边距会影响整个盒子的大小box-sizing:border-box;设置盒子的属性,让width和height就......
  • C# 自定义固定数量线程池
    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading;usingSystem.Threading.Tasks;namespaceA9Agent......
  • seedbox,pt盒子
     查看raidcat/proc/mdstat修改为raid0timeechox|installimage-p/boot:ext3:1G,/:ext4:all-l0-ryes-iimages/Debian-1011-buster-64-minimal.tar.gz......
  • 数量1
    1.代入排除1.直接把数字写在选项上面,不要列式子,2.ABC排除直接写D忘了两边之和小于第三边2.倍数特性我自己是直接+2,这样也行选项CD同时减......