負の数、正の数、ゼロを含む整数の配列を取ります。1回の繰り返しでグループ化し、すべての負の数値が最初に来て、その後にすべてのゼロが続き、その後にすべての正の数が続くようにします。
例:
Input: 5, 3, 0, -6, 2, 0, 5
Output: -6, 0, 0, 3, 2, 5, 5
数値は完全に並べ替える必要はないことに注意してください。符号で並べ替えるだけです。
したがって、最終的な配列は次のようになります。 -, -, ..., -, -, 0, 0, ..., 0, 0, +, +, ..., +, +
ルール
- 入力配列と一定量の追加メモリのみを使用できます(つまり、これ以上配列を作成できません)
- 使用できるループは1つだけで、配列の長さと同じ回数だけ実行できます。あらゆる種類のループを隠す組み込み関数を使用することはできません。これには、組み込みのソート関数が含まれます。
- 結果は、私が説明した形式である必要があります
勝者は、最初の配列を正しい形式(上記のように)に変更する最短のコード(バイト単位)を送信する人です。
sort(...)
はおそらく複数回の反復を行うため、問題ありません。