2

文字列の k サイズのすべての「移動」パーティションを取得しようとしています。基本的に、サイズ k のウィンドウを文字列に沿って移動し、その k ワードを取得したいと考えています。

これが例です。

:3

入力:ABDEFGH

出力:ABD、EFG、BDE、FGH、DEF

私のアイデアは、入力に沿って歩き、ヘッドとパーティションをドロップしてから、以前の(現在はヘッドレスの)シーケンスから再びヘッドをドロップすることでしたが、これを行う方法が正確にはわかりません...また、もっと良い方法があるかもしれませんこれを行うことの?以下、私が考えた案です。

(#(partition k input) (collection of s where head was consecutively dropped))
4

3 に答える 3

0
(defn moving-partition 
    [input k] 
    (map #(.substring input % (+ k %)) 
        (range (- (count input) (dec k)))))
于 2013-11-13T23:46:48.643 に答える