1742. El número máximo de bolas en la caja.

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));
	}
}

 

Supongo que te gusta

Origin blog.csdn.net/allway2/article/details/114366337
Recomendado
Clasificación