1
最短の部分文字列インデックス
私は怠惰ですが効率的な人です。あなたの多くもおそらくそうです。だから、何かをしているときはいつも、最小限の努力でやりたいと思っています。そのため、この問題を解決するようにお願いしています。 ここにあるのは一種の文書です。このドキュメントのすべての行には、単一の単語または短いフレーズがあります。ドキュメントはソートされていませんが、すべてがどこにあるかはわかっています。私はいくつかのものを使ってより速く物事を見つけることができ、そのために2つ目のリストが必要です。ここがあなたの出番です。このドキュメントのすべてのテキスト行について、いくつかの識別子が必要です。何か私ができるCTRL+ Fが、それはその1つの結果を得るために絶対に必要以上に長くすることはできません。 入力例: (blank) an apple spiderman 3 7pm pick up laundry tequila fake mustache dishes on wednesday banana biscuits (blank) 出力例: ap,3,7,q,f,w,ba,bi 同じページにいることを確認するために、ここでも繰り返します。 入力は、改行で区切られた項目のリストを含むフォーマットされていないテキストファイルです。ここに.txt形式であり、「STUFF.TXT」と呼ばれています。 文書の最初と最後の行は空です。他のすべての行には、長さが> 0のエントリが含まれています。 ファイルには、英数字(すべて小文字)、スペース、および改行のみが含まれます。 望ましい出力は、元のリストと同じ順序での識別子のリストです。 すべてのリストアイテムに複数の検索語を使いたくありません。複数の回答がある場合は、1つ選択してください。どちらでもかまいません。上記の例では「ap」を選択しましたがan apple、「n」、「a」、「pp」、「pl」、「le」を選択することもできます。「an」ではありませんbanana。 ファイルが空になることはなく、重複が含まれることもありません。 必要に応じて、行末記号で一致させることができます。ただし、これは、リストアイテムを区別する方法が他にない場合にのみ使用する最後の手段です(たとえば、 'apple'と 'apples')。 標準の抜け穴は許可されていません。また、これはコードゴルフなので、最短のコードが勝ちます。 もう1つの例: (blank) ban any king bean yen rake raki bar (blank) そしてその出力: ban,ny,g,be,ye,ke,aki,ar