2017-02-07 5 views
-3

合計10アイテムありました。私は3日以内にすべてを失いました.1日目は5項目、2日目は3項目、最後は2項目でした。私は毎日の終わりに残りの項目の配列[5, 2, 0]を取得する必要があります。 10と紛失したアイテムの配列[5, 3, 2]があれば、どのように配列を取得できますか?チャートの配列を取得する

+3

あなたの努力とあなたが立ち往生した場所を示してください! [ask]を参照して[mcve]を提供してください(宿題)のコーディングサービスではありません。 – jkalden

+2

あなたのコードの入力と構造の例を教えてください –

+0

ハスケルに切り替えるだけで、あなたの関数は 'tailです。 scanl( - )10' \ o/ – Ryan

答えて

1
[5, 3, 2].each_with_object([10]){|e, a| a.push(a.last - e)}.drop(1) 
# => [5, 2, 0] 

なぜ複雑なものが必要なのか分かりませんdrop(1)?それがなければ、答えはより理にかなっているからです。あなたの要件は複雑なものです。

[5, 3, 2].each_with_object([10]){|e, a| a.push(a.last - e)} 
# => [10, 5, 2, 0] 

最初の10は初期状態を表します。

+0

はい!それは私が探していたものです、ありがとう! –