Любовное письмо. Компания по ротации строк. Тестовое программирование базы вопросов. Тестовый пример пройден, скрытый теJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Любовное письмо. Компания по ротации строк. Тестовое программирование базы вопросов. Тестовый пример пройден, скрытый те

Сообщение Anonymous »

Я провел тест на платформе Mettl для найма компании.
Постановка задачи:
Вы пишете любовное письмо своему другу. Однако прежде чем ваш друг сможет его прочитать, кто-то другой прочитает его и повернет символы каждого слова в нужное положение K раз. Найдите количество слов, которые остаются неизменными даже после такого смещения букв.
Примечание: между словами может быть более одного пробела.
Входные характеристики:
Входные данные 1: строка слов
Вводные данные 2: количество поворотов K раз
Выходные характеристики:
Ваша функция должна возвращать количество правильных слов.
Пример 1:
Ввод 1: llohe ereth
Ввод 2: 2
Выход: 0
Пояснение: В примере 1 «llohe ereth» — это повернутая строка с коэффициентом K 2. Следовательно, после перемещения последних двух букв справа налево мы получаем исходную строку «Hello there».
Пример 2:
Ввод 1: adaada
Ввод 2: 3
Вывод: 1
Объяснение: В примере 2 «адаада» при трехкратном повороте возвращает «адаада». Следовательно, ответ равен 1.
Я написал ниже решение, которое прошло два вышеуказанных базовых случая, но не помогло для скрытых тестовых примеров (также включает тестовый пример временной сложности). Пройден только один угловой тестовый пример, потому что я проверял, чтобы строка input1 не была пустой. Решение следующее:

Код: Выделить всё

public int rotatedWords(String input1, int input2) {
int count = 0;
String arr[] = input1.split(" ");
if (input1 != null && !input1.isEmpty()) {
for (int i = 0; i < arr.length; i++) {
String s1 = arr[i] + arr[i];
int start = arr[i].length() - input2;

System.out.println("arr[i] : " + arr[i]);
String s2 = s1.substring(start, start + arr[i].length());
System.out.println("s2 : " + s2);
if (s2.equalsIgnoreCase(arr[i])) {
count++;
}
}
}
return count;
}
Спрос в том, что я не смог понять, почему скрытые тестовые примеры терпели неудачу. Пожалуйста, помогите мне.
Ответить

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

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

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

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

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