argとして最小の長さを与えられた特定の文字列の可能なすべての連続する単語の組み合わせを生成したい。文字列の可能なすべての連続した単語の組み合わせを生成する
「hello」と言うと、結果は(hello、hello、hello、helloの3つの長さが与えられます)。私はこれを達成しました
一つの方法は、ある経由:
def get_all_word_combinations(str, min_length)
chars = str.split('')
all_results = []
(min_length..str.size).each do |x|
chars.each_cons(x) do |r|
all_results << r.join
end
end
return all_results
end
しかし、これは大きな言葉でうまくいくかどうかわかりません。
@Carcigenicate申し訳ありませんが問題の正しさについての質問が多かったです。それを編集しました。 – anemaria20
質問をひっくり返してください:なぜ*大きな単語では機能しませんか?コード内の単語の長さに依存するものは何ですか?つまり、要件は明確ではありません。 "hel"と "leh"は区別されますか? –
ここであまり間違って見ることはできません...おそらく 'get_all_word_slices'はより良い名前です。 – steenslag