Введите массив строк в одну строку. Если в массиве присутствуют все подстроки одной из строк, начинающиеся с индекса 0, то эта строка является потенциальным паролем. Самый длинный из всех возможных паролей является реальным паролем. Если их несколько реальные пароли одинаковой длины, затем выберите тот, у которого самый большой лексикографический порядок, как единственный реальный пароль, и найдите единственный настоящий пароль.
Пример 1:
Импорт: h he hell hello hello ok n ni nin ninj ninja
Результат: ниндзя
Объяснение: привет, хорошо, ниндзя — это все потенциальные пароли, как и было запрошено. Проверьте длину, привет, ниндзя — настоящий пароль. Проверяя лексикографический порядок, ниндзя — единственный верный пароль.
Пример 2:
Вход:
абвдф
Выход:
ф
Объяснение: abcdf - это потенциальные шифры, как запрошено. Проверьте длину, abcdf — настоящий пароль. Проверяя лексикографический порядок, f — единственный верный пароль.
Java-код
import java.util.Scanner;
import java.util.*;
import java.util.stream.Collectors;
class Main {
public static int min_times;
public static void main(String[] args) {
// 处理输入
Scanner in = new Scanner(System.in);
String[] strs = in.nextLine().split(" ");
// 将所有字符串放入哈希集合
HashSet<String> word_set=new Ha