Охота на алфавитное сокровище: сортировка подсказок по сложности [закрыто]JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Охота на алфавитное сокровище: сортировка подсказок по сложности [закрыто]

Сообщение Anonymous »

Запрещение задачи < /h4>
Вы организуете уникальную охоту за сокровищами, где каждая подсказка представлена ​​латинским алфавитом. Подсказки распределяются по разным зонам, и каждая зона присваивается ему, основываясь на его положении в алфавите. Чтобы решить головоломку, вам нужно изменить подсказки на основе их уровня «сложности». Сложность каждой подсказки определяется модулем номера зоны подсказки 5. Это означает, что подсказка в зоне «a» (положение 1) имеет сложность 1 % 5 = 1, подсказка в зоне «b» (положение 2) имеет Сложность 2 % 5 = 2, и так далее. Подсказка в зоне 'E' (позиция 5) будет иметь сложность 0, как 5 % 5 = 0. < /p>
Как только всем подсказкам будет назначен уровень сложности, вам нужно Сортировать подсказки в растущем порядке их трудностей. Если два подсказки имеют одинаковый уровень сложности, подсказка, которая появляется ранее в алфавите (то есть ближе к «а») должна рассматриваться как имеющая больше сложности. < /P>
Ваша задача - сортировать Подсказки в восходящем порядке сложности и печати результат. целое число n, представляющее длину строки. < /p>
< /li>
Вторая строка содержит строку длины n, состоящую из латинских алфавитов нижних частей ('a 'to' z '). < /p>
< /li>
< /ol>
формат вывода < /h4>
Печать отсортированного Строка на основе заданных условий. < /p>
ограничения: < /p>

1
TestCase Input < /H5>
3
bca
< /code>
testcase output < /h5>
abc

Объяснение:

Здесь у нас есть строка str = bca

Сложность «b» = 2 % 5 = 2; 'c' = 3 % 5 = 3; 'a' = 1 % 5 = 1

Окончательный результат будет abc.
Пример тестового примера 1

Вводные данные тестового примера
5
abcde
< /code>
testcase output < /h5>
eabcd

Объяснение:

Здесь у нас есть строка str = abcde

Сложность «a» = 1 % 5 = 1; ‘б’ = 2 % 5 = 2; 'c' = 3 % 5 = 3; 'd' = 4 % 5 = 4 и 'e' = 5 % 5 = 0.

Окончательным результатом будет eabcd.

Этот код принимается только в 4 тестовых сценариях из 12.

Мне нужно правильное решение.
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Scanner;

class Main {
public static String userLogic(int n, String s) {
// Create a list to store character and their difficulty level
List cluesWithDifficulty = new ArrayList();

for (char c : s.toCharArray()) {
// Calculate the position in alphabet (1-based)
int position = c - 'a' + 1;
// Calculate the difficulty level
int difficulty = position % 5;
// Add the character and its difficulty to the list
cluesWithDifficulty.add(new CharacterWithDifficulty(c, difficulty));
}

// Sort the list first by difficulty, then by character
Collections.sort(cluesWithDifficulty, new Comparator() {
@Override
public int compare(CharacterWithDifficulty o1, CharacterWithDifficulty o2) {
if (o1.difficulty != o2.difficulty) {
return Integer.compare(o1.difficulty, o2.difficulty);
} else {
return Character.compare(o1.character, o2.character);
}
}
});

// Build the sorted string
StringBuilder sortedClues = new StringBuilder();
for (CharacterWithDifficulty cwd : cluesWithDifficulty) {
sortedClues.append(cwd.character);
}

// Return the result
return sortedClues.toString();
}

public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
String s = scanner.next();

String result = userLogic(n, s);

// Print the output
System.out.println(result);
}
}

// Helper class to store character and its difficulty
class CharacterWithDifficulty {
char character;
int difficulty;

CharacterWithDifficulty(char character, int difficulty) {
this.character = character;
this.difficulty = difficulty;
}
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... difficulty
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»