文字列の配列を 1 行に入力します。インデックス 0 で始まるいずれかの文字列のすべての部分文字列が配列内に存在する場合、この文字列は潜在的なパスワードになります。すべての潜在的なパスワードの中で最も長いものが実際のパスワードです。複数ある場合は、同じ長さの実際のパスワードを検索し、辞書編集上の順序が最も大きいものを唯一の実際のパスワードとして取得し、唯一の実際のパスワードを見つけます。
例 1:
输入: h he hel hell hello o ok n ni nin ninj ninja
出力: 忍者
説明: hello、ok、ninja はすべて、要求された潜在的なパスワードです。長さを確認してください。こんにちは、Ninja が実際のパスワードです。辞書編集上の順序を確認すると、実際のパスワードは ninja だけです。
例 2:
入力:
abcdf
出力:
f
説明: 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