逆さまピラミッド追加は、数字のリストを取得し、1つの数字に達するまで連続して追加するプロセスです。
番号を指定すると2, 1, 1
、次のプロセスが発生します。
2 1 1
3 2
5
これは数字で終わり5
ます。
あなたのタスク
上下ピラミッド(昇順)の右側を指定して、元のリストを返すプログラムまたは関数を作成します。
新しい追加チャレンジ:O(n ^ 2)未満でこれを試してください
例
f([5, 2, 1]) => [2, 1, 1]
f([84,42,21,10,2]) => [4,7,3,8,2]
注:上下ピラミッドは空になることはなく、常に正の整数のみで構成されます。
Try doing this in less than O(n)
確かに、nサイズの配列を割り当てたり、その中のO(n)アイテムをO(n)の複雑さより速く変更することは不可能ですか?