増加するサブシーケンスへの分割
仕様 この課題は簡単に説明できます。入力は負でない整数の空ではない配列であり、タスクはできるだけ少ないサブシーケンスに分割することです。より正式にはA、入力配列がの場合、出力は次のBような配列の配列になります。 の各配列はB、A互いに素な(必ずしも連続していない)サブシーケンスへのパーティションを形成します。帰納的に、これはをB含むシングルトン配列Aであるか、の最初の要素BがのサブシーケンスでAあり、残りAがそのサブシーケンスが削除されたパーティションを形成することを意味します。 のすべての配列Bは(必ずしも厳密ではありませんが)増加しています。 配列の数Bは最小限です。 入力と出力の両方を、言語のネイティブ配列形式で取得できます。いくつかの正しい出力がある場合があることに注意してください。 例 入力配列を考えますA = [1,2,1,2,5,4,7,1]。可能な出力の1つですB = [[1],[1,2,4,7],[1,2,5]]。パーティションの状態は、次の図から明らかです。 A 1 2 1 2 5 4 7 1 B[0] 1 B[1] 1 2 4 7 B[2] 1 2 5 また、の各配列Bは増加しています。最後に、A増加する2つのサブシーケンスに分割できないため、の長さBも最小になります。したがって、それは有効な出力です。 ルールとスコアリング 関数または完全なプログラムを作成できます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。期限はありませんが、提出する前にすべてのテストケースでソリューションを評価する必要があります。 テストケース 表示される出力は1つだけですが、有効なオプションがいくつかある場合があります。特に、結果の配列の順序は重要ではありません(ただし、個々の配列は昇順である必要があります)。 [0] -> [[0]] [3,5,8] -> [[3,5,8]] [2,2,2,2] -> [[2,2,2,2]] [1154,1012,976,845] -> [[845],[976],[1012],[1154]] [6,32,1,2,34,8] …