/
javapractice
/
JavaPractice
Обзор
Документация
Войти
/
javapractice
/
JavaPractice
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
2
CI/CD
Аналитика
develop
Quiz/src/main/java/mockInterviews/MaxPrefix.java
49 строк
2 KB
Zexa91x0
Quizzes - MaxPrefix
04 июн 2021, 18:16
04 июн 2021, 18:16
4bf19d7
Код
Авторство
О чём код?
package mockInterviews; import java.util.Arrays; import java.util.Comparator; // "ab", "abc" "abcde" "abf" // -> "ab" public class MaxPrefix { public static String longestPrefix(String[] strings) { StringBuilder currentPrefix = new StringBuilder(); boolean marker = true; // найдем самое короткое слово int minLength = Arrays.stream(strings).min(Comparator.comparingInt(String::length)).get().length(); // в рамках длины короткого слова проходим по всем символам каждой строки чтобы выяснить равны ли символы for (int i = 0; i < minLength; i++) { for (int j = 1; j < strings.length; j++) { if (strings[0].charAt(i) != strings[j].charAt(i)) { marker = false; break; } } if (!marker) break; else currentPrefix.append(strings[0].charAt(i)); } return currentPrefix.toString(); } public static String longestPrefix2(String[] strings) { boolean marker = true; // найдем самое короткое слово String currentPrefix = Arrays.stream(strings).min(Comparator.comparingInt(String::length)).get(); for (String string : strings) { if (!string.contains(currentPrefix)) { marker = false; break; } } return (marker)? (currentPrefix.toString()) : (""); } }