Copie o código do código da seguinte forma:
/**
* Nome: Encontre o número e o número de repetições dos elementos da matriz que são mais
* Descrição:
* Os elementos do array podem ser repetidos. Este método pode encontrar o número com mais repetições e retornar quantas vezes ele foi repetido.
* Mas você precisa saber qual é o maior elemento deste array. Se você não conseguir determiná-lo, será uma tragédia ~.
*
* @param matriz matriz alvo;
* O valor máximo dos dados no array max;
* @return Retorna uma coleção de mapas contendo o número com mais repetições (valor) e o número de repetições (maxCount);
* Ocorre uma exceção interna e retorna 0 por padrão;
* @lança
* @Autor Yang Yuan
*/
public static Map<String, Integer> arraySearch(int[] array,int max){
//coleta de resultados
Map<String, Integer> resultMap = new HashMap<String, Integer>();
//Número de repetições
int maxCount = 0;
//Número com maior número de repetições
valor interno = 0;
tentar{
//Inicializa o array de dados para armazenar o número de ocorrências de cada elemento
int[] dataArray = new int[max+1];
//Percorre o array a ser encontrado, usa cada elemento como um subscrito, localiza diretamente o array de dados e executa uma operação +1 para indicar que ele aparece uma vez
for(int i: matriz){
matriz de dados[i]++;
}
//Encontre o valor máximo no array de dados
for(int i=0;i<dataArray.length;i++){
if(dataArray[i]>maxCount){
maxCount=dataArray[i];
valor=eu;
}
}
}catch (Exceção e) {}
resultMap.put("maxCount", maxCount);
resultMap.put("valor", valor);
retornar mapa de resultados;
}
/**
* Nome: Compare os tamanhos de duas strings
* Descrição: As regras de comparação são consistentes com a ordem por efeito no banco de dados;
* Null é automaticamente convertido em vazio e a string vazia é a maior;
*
* @param first A primeira string a ser comparada;
* segundo A segunda string a ser comparada;
* @return primeiro é maior que segundo e retorna um número positivo;
* primeiro é igual a segundo e retorna 0;
* primeiro é menor que segundo e retorna um número negativo;
* Exceção interna retorna 0 por padrão;
* O valor de retorno não é um valor fixo~~;
* @lança
* @Autor Yang Yuan
*/
public static int compareString(String primeiro,String segundo){
resultado interno = 0;
tentar{
//nulo para vazio
primeiro = primeiro==nulo?"":primeiro;
segundo = segundo==nulo?"":segundo;
//Pré-grave o comprimento da string para evitar leituras repetidas
int primeiroComprimento=primeiro.comprimento();
int segundoComprimento=segundo.comprimento();
//Trata de casos especiais contendo strings vazias
if("".equals(primeiro) || "".equals(segundo)){
//Quem é mais alto e quem é menor?
resultado = segundoComprimento-primeiroComprimento;
}outro{
//Espaço temporário usado para armazenar a soma dos códigos ascii
int primeiracontagem = 0;
int contagem de segundos = 0;
// Use operações puras para encontrar o menor dos dois números, que na verdade é bt
int minLength = (segundoComprimento*(primeiroComprimento/segundoComprimento) + primeiroComprimento*(segundoComprimento/primeiroComprimento))/(primeiroComprimento/segundoComprimento + segundoComprimento/primeiroComprimento);
//Intercepta bit a bit de acordo com o menor número de dígitos nas duas strings para evitar fora dos limites
for(int i=0;i<minLength;i++){
//Encontre a soma do código ascii
firstCount+=first.substring(i,i+1).getBytes()[0];
secondCount+=second.substring(i,i+1).getBytes()[0];
//A soma não é igual, indicando que o tamanho foi comparado
if(primeiracontagem!=segundacontagem){
quebrar;
}
}
if(primeiraContagem==contagemsegunda){
//O comprimento é muito longo
resultado = primeiroComprimento-segundoComprimento;
}outro{
//A soma é a maior possível
resultado = firstCount-secondCount;
}
}
}catch (Exceção e) {}
resultado de retorno;
}