Скопируйте код кода следующим образом:
/**
* Название: Найдите количество и количество повторений элементов массива, которые являются наиболее
* Описание:
* Элементы массива могут повторяться. Этот метод позволяет найти число с наибольшим количеством повторений и узнать, сколько раз оно повторялось.
* Но вам нужно знать, какой самый большой элемент в этом массиве. Если вы не сможете его определить, это будет трагедия~.
*
* целевой массив @param array;
* Максимальное значение данных в массиве max;
* @return Возвращает коллекцию карт, содержащую число с наибольшим количеством повторений (value) и количество повторений (maxCount);
* Возникает внутреннее исключение, которое по умолчанию возвращает 0;
* @бросает
* @Автор Ян Юань
*/
public static Map<String, Integer> arraySearch(int[] array,int max){
//сбор результатов
Map<String, Integer> resultMap = new HashMap<String, Integer>();
//Количество повторений
интервал maxCount = 0;
//Номер с наибольшим количеством повторений
целое значение = 0;
пытаться{
//Инициализируем массив данных для хранения количества вхождений каждого элемента
int[] dataArray = новый int[max+1];
//Обходим массив, который нужно найти, используем каждый элемент в качестве индекса, непосредственно находим массив данных и выполняем операцию +1, чтобы указать, что он появляется один раз
for(int я: массив){
dataArray[i]++;
}
//Находим максимальное значение в массиве данных
for(int i=0;i<dataArray.length;i++){
если (dataArray[i]>maxCount){
maxCount=dataArray[i];
значение = я;
}
}
}catch (Исключение е) {}
resultMap.put("maxCount", maxCount);
resultMap.put("значение", значение);
вернуть карту результатов;
}
/**
* Название: Сравните размеры двух строк.
* Описание: Правила сравнения соответствуют порядку эффектов в базе данных;
* Null автоматически преобразуется в пустое, а пустая строка является самой большой;
*
* @param first Первая строка для сравнения;
* Second Вторая строка для сравнения;
* @return first больше второго и возвращает положительное число;
* первый равен второму и возвращает 0;
* first меньше второго и возвращает отрицательное число;
* Внутреннее исключение по умолчанию возвращает 0;
* Возвращаемое значение не является фиксированным~~;
* @бросает
* @Автор Ян Юань
*/
public static int CompareString (первая строка, вторая строка) {
интервал результата = 0;
пытаться{
//от нуля до пустого
first = first==null?"":first;
секунда = секунда==ноль?"":секунда;
//Предварительно записываем длину строки, чтобы избежать повторного чтения
int firstLength=first.length();
int SecondLength = Second.length();
//Обработка особых случаев, содержащих пустые строки
if("".equals(first) || "".equals(второй)){
//Кто выше, а кто меньше?
результат = вторая длина-первая длина;
}еще{
//Временное пространство, используемое для хранения суммы кодов ascii
интервал firstCount = 0;
интервал SecondCount = 0;
// Используйте чистые операции, чтобы найти меньшее из двух чисел, которое на самом деле равно bt
int minLength = (вторая длина*(первая длина/вторая длина) + первая длина * (вторая длина/первая длина))/(первая длина/вторая длина + вторая длина/первая длина);
//Перехватываем побитно в соответствии с меньшим количеством цифр в двух строках, чтобы предотвратить выход за пределы
for(int i=0;i<minLength;i++){
//Находим сумму ascii-кода
firstCount+=first.substring(i,i+1).getBytes()[0];
SecondCount+= Second.substring(i,i+1).getBytes()[0];
//Сумма не равна, что указывает на то, что размер сравнивался
если (firstCount! = SecondCount) {
перерыв;
}
}
если (firstCount == SecondCount) {
//Длина слишком длинная
результат = первая длина-вторая длина;
}еще{
//Сумма максимально большая
результат = firstCount-второйCount;
}
}
}catch (Исключение е) {}
вернуть результат;
}