Любовное письмо. Компания, занимающаяся ротацией строк, тестирует базу вопросов по программированию. Тестовый пример про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;
}
Спрос в том, что я не смог понять, почему скрытые тестовые примеры терпели неудачу. Пожалуйста, помогите мне.

Подробнее здесь: https://stackoverflow.com/questions/657 ... tcase-pass
Ответить

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

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

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

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

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