I think this is an interesting loop, and a nice intro question to people still getting their feet wet with programming and algorithmic thinking. It’s a sort of scan problem.
Solution
class Solution:
def findMaxConsecutiveOnes(self, nums: List[int]) -> int:
m = 0
c = 0
for n in nums:
if n == 1:
c += 1
m = max(m, c)
else:
c = 0
return m
The sort of “invariants” you have to maintain, or the general idea of the state-of-our-scanner (slightly) evolving as we see different values, is a good muscle to build.
More interesting loops here.