Menu
CoddyTech

Sort Colors

各値が 0、1、または 2 である配列 nums が与えられます。これは、赤、白、青のような 3 色を表しています。配列を並べ替えて、すべての 0 が先頭に、次にすべての 1 が続き、最後にすべての 2 が来るようにして、配列を返してください。ライブラリのソート関数を使わずに解いてください。

関数

sortColors(nums: integer-array) → integer-array
numsinteger-array
色はそれぞれ0、1、または2
戻り値integer-array
同じ値を、まずすべての0、次にすべての1、最後にすべての2の順に並べます

制約

  • 1 ≤ nums.length ≤ 1.5 × 104
  • 各nums[i]は0、1、または2です。
  • 色が欠けている場合があり、配列には色が1つだけ含まれている場合があります。

例

入力
nums = [2, 1, 0, 2, 0, 1, 1]
出力
[0, 0, 1, 1, 1, 2, 2]
説明
配列には0が2つ、1が3つ、2が2つ含まれているため、結果はまさにそのとおりです。0が2つ、次に1が3つ、その次に2が2つです。
challenge icon

発展問題

配列の長さよりもはるかに小さい k 色が3色の代わりにあったとしたら、何を変更しますか?

コードをリセット
def sortColors(nums):
    # ここにコードを書いてください

テスト #1

テスト #2

テスト #3

引数

nums = [2, 1, 0, 2, 0, 1, 1]

期待される出力

[0, 0, 1, 1, 1, 2, 2]