Trabajas en una fábrica de juguetes que produce bolitas, hay una n
bolita, numerada de lowLimit
principio a highLimit
fin (incluyendo lowLimit
y highLimit
, es decir n == highLimit - lowLimit + 1
). También hay un número ilimitado de casillas, numeradas del 1
a infinity
.
Su trabajo es poner cada bola en una caja, donde el número de la caja debe ser igual a la suma de cada número en el número de la bola. Por ejemplo, las 321
bolas numeradas deben colocarse en 3 + 2 + 1 = 6
cajas numeradas y las 10
bolas numeradas deben colocarse en 1 + 0 = 1
cajas numeradas .
Darle la suma de dos enteros lowLimit
y highLimit
devolver el número de bolas en la caja con más bolas . Si hay varias casillas que satisfacen el número máximo de bolas, simplemente devuelva la cantidad de bolas en cualquiera de las casillas.
Ejemplo 1:
Entrada: lowLimit = 1, highLimit = 10 Salida: 2 Explicación: Número de casilla: 1 2 3 4 5 6 7 8 9 10 11 ... Número de bolas: 2 1 1 1 1 1 1 1 1 0 0 ... No La caja de 1 contiene la mayor cantidad de bolas y la cantidad de bolas es 2.
Ejemplo 2:
Entrada: lowLimit = 5, highLimit = 15 Salida: 2 Explicación: Número de casilla: 1 2 3 4 5 6 7 8 9 10 11 ... número de bolas: 1 1 1 1 2 2 1 1 1 0 0 ... número Las cajas 5 y 6 tienen la mayor cantidad de bolas y la cantidad de bolas en cada caja es 2.
Ejemplo 3:
Entrada: lowLimit = 19, highLimit = 28 Salida: 2 Explicación: Número de caja: 1 2 3 4 5 6 7 8 9 10 11 12 ... Número de bolas: 0 1 1 1 1 1 1 1 1 2 0 0 .. . cuadro No. 10 coloca a la pelota, la pelota es el número 2.
inmediato:
1 <= lowLimit <= highLimit <= 105
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
public class Solution1742 {
public int countBalls(int lowLimit, int highLimit) {
int[] count = new int[highLimit + 1];
for (int i = lowLimit; i <= highLimit; i++) {
int t = i;
int sum = 0;
while (t > 0) {
sum = sum + t % 10;
t = t / 10;
}
count[sum]++;
}
// System.out.println(Arrays.toString(count));
Arrays.sort(count);
return count[count.length - 1];
}
public static void main(String[] args) {
Solution1742 sol = new Solution1742();
int lowLimit = 4, highLimit = 7;
System.out.println(sol.countBalls(lowLimit, highLimit));
}
}