Copie el código de código de la siguiente manera:
/**
* Nombre: Encuentra el número y el número de repeticiones de los elementos de la matriz que son más
* Descripción:
* Los elementos de la matriz pueden estar repetidos. Este método puede encontrar el número con más repeticiones y devolver cuántas veces se ha repetido.
* Pero necesitas saber cuál es el elemento más grande en esta matriz. Si no puedes determinarlo, será una tragedia.
*
* @param matriz de destino de la matriz;
* El valor máximo de los datos en la matriz máxima;
* @return Devuelve una colección de mapas que contiene el número con más repeticiones (valor) y el número de repeticiones (maxCount);
* Se produce una excepción interna y devuelve 0 por defecto;
* @lanzamientos
* @Autor Yang Yuan
*/
Mapa estático público <Cadena, Entero> arraySearch(int[] array,int max){
//colección de resultados
Mapa<Cadena, Entero> resultadoMap = nuevo HashMap<Cadena, Entero>();
//Número de repeticiones
int cuentamax = 0;
//Número con mayor número de repeticiones
valor entero = 0;
intentar{
//Inicializa la matriz de datos para almacenar el número de apariciones de cada elemento
int[] dataArray = nuevo int[max+1];
// Recorre la matriz que se va a encontrar, usa cada elemento como subíndice, localiza directamente la matriz de datos y realiza una operación +1 para indicar que aparece una vez
para (int i: matriz) {
matriz de datos[i]++;
}
//Encuentra el valor máximo en la matriz de datos
for(int i=0;i<dataArray.length;i++){
si(matriz de datos[i]>maxCount){
maxCount=matriz de datos[i];
valor=yo;
}
}
}captura (Excepción e) {}
resultMap.put("maxCount", maxCount);
resultMap.put("valor", valor);
devolver mapa de resultados;
}
/**
* Nombre: Compara los tamaños de dos cadenas.
* Descripción: Las reglas de comparación son consistentes con el orden por efecto en la base de datos;
* Nulo se convierte automáticamente en vacío y la cadena vacía es la más grande;
*
* @param first La primera cadena que se comparará;
* second La segunda cadena a comparar;
* @return primero es mayor que segundo y devuelve un número positivo;
* primero es igual a segundo y devuelve 0;
* el primero es menor que el segundo y devuelve un número negativo;
* La excepción interna devuelve 0 por defecto;
* El valor de retorno no es un valor fijo~~;
* @lanzamientos
* @Autor Yang Yuan
*/
public static int compareString (cadena primero, cadena segunda) {
resultado entero = 0;
intentar{
//nulo para vaciar
primero = primero==nulo?"":primero;
segundo = segundo==nulo?"":segundo;
// Registre previamente la longitud de la cadena para evitar lecturas repetidas
int primeraLongitud=primera.longitud();
int segundaLongitud=segundo.longitud();
//Maneja casos especiales que contienen cadenas vacías
if("".equals(primero) || "".equals(segundo)){
//¿Quién es más alto y quién es más bajo?
resultado = segundaLongitud-primeraLongitud;
}demás{
//Espacio temporal utilizado para almacenar la suma de códigos ascii
int primerCuenta = 0;
int segundoCount = 0;
// Usa operaciones puras para encontrar el menor de los dos números, que en realidad es bt
int longitudmin = (segundaLongitud*(primeraLongitud/segundaLongitud) + primeraLongitud*(segundaLongitud/primeraLongitud))/(primeraLongitud/segundaLongitud + segundaLongitud/primeraLongitud);
// Intercepta bit a bit de acuerdo con el número más corto de dígitos en las dos cadenas para evitar límites
for(int i=0;i<minLength;i++){
//Encuentra la suma del código ascii
firstCount+=first.substring(i,i+1).getBytes()[0];
secondCount+=segundo.substring(i,i+1).getBytes()[0];
//La suma no es igual, lo que indica que se ha comparado el tamaño
if(primerConteo!=segundoConteo){
romper;
}
}
if(primerConteo==segundoConteo){
//La longitud es demasiado larga
resultado = primeraLongitud-segundaLongitud;
}demás{
//La suma es lo más grande posible
resultado = primerConteo-segundoConteo;
}
}
}captura (Excepción e) {}
resultado de devolución;
}