Menu
CoddyTech

Max Consecutive Ones

各値が0または1である配列numsが与えられます。連続区間とは、その間に0を挟まず隣り合って並ぶ1の集まりです。最も長い連続区間の長さを返してください。配列に1が一つも含まれない場合は、0を返してください。

関数

findMaxConsecutiveOnes(nums: integer-array) → integer
numsinteger-array
0と1の配列
戻り値integer
連続する1の最長の並びの長さ

制約

  • 1 ≤ nums.length ≤ 2 × 104
  • それぞれの nums[i] は 0 または 1 です。

例

入力
nums = [1, 1, 0, 1, 1, 1, 0, 1]
出力
3
説明
1の連続部分は3つあります。インデックス0から1まで(長さ2)、3から5まで(長さ3)、そしてインデックス7のみ(長さ1)です。最も長いものの長さは3です。

lock icon提出時に隠しテスト+14件

challenge icon

発展問題

最大でk個の0を1に反転できるとしたらどうでしょうか?1の最長連続区間はどれくらい長くなり、1回の走査で見つけることができるでしょうか?

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

ケース1

ケース2

ケース3

入力

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

期待値

3