Menu
CoddyTech

Max Consecutive Ones

Người mớiMảng và chuỗipython iconjava iconcpp iconc iconjs icon+10

Bạn nhận được một mảng nums trong đó mỗi giá trị là 0 hoặc 1. Một dãy liên tiếp là một đoạn gồm các số 1 nằm cạnh nhau, không có 0 nào ở giữa. Hãy trả về độ dài của dãy liên tiếp dài nhất, hoặc 0 nếu mảng không có số 1 nào.

Hàm

findMaxConsecutiveOnes(nums: integer-array) → integer
numsinteger-array
một mảng gồm các số 0 và 1
Trả vềinteger
độ dài của dãy số 1 liên tiếp dài nhất

Ràng buộc

  • 1 ≤ nums.length ≤ 2 × 104
  • Mỗi nums[i] là 0 hoặc 1.

Ví dụ

Đầu vào
nums = [1, 1, 0, 1, 1, 1, 0, 1]
Đầu ra
3
Giải thích
Các số 1 tạo thành ba đoạn: từ chỉ số 0 đến 1 (độ dài 2), từ 3 đến 5 (độ dài 3) và riêng chỉ số 7 (độ dài 1). Đoạn dài nhất có độ dài 3.
challenge icon

Câu hỏi mở rộng

Bạn có thể đổi tối đa k số 0 thành số 1 không? Đoạn liên tiếp dài nhất có thể dài bao nhiêu, và bạn vẫn có thể tìm ra đoạn đó chỉ với một lượt duyệt không?

Đặt lại code
def findMaxConsecutiveOnes(nums):
    # Viết code ở đây

Kiểm thử #1

Kiểm thử #2

Kiểm thử #3

Đối số

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

Đầu ra mong đợi

3