# Python 1 line solution, is this valid?

• Does this break the "spirit" of the question?
'''

class Solution(object):

``````def findMaxConsecutiveOnes(self, nums):

return max(''.join(map(str,nums)).split('0')).count('1')
``````

'''

• I don't see why it wouldn't be valid. And it's quite interesting. I previously posted one which maps to lengths before taking the max, which should be a bit faster and which I find more obvious. But yours is shorter and still has the same complexity class, Θ(|nums|).

But you could just use the length instead of counting ones:

``````def findMaxConsecutiveOnes(self, nums):
return len(max(''.join(map(str, nums)).split('0')))
``````

Just found a hackish even shorter one based on mine, though:

``````def findMaxConsecutiveOnes(self, nums):
return max(map(len, `nums`.split('0'))) / 3``````

• @StefanPochmann I dont quite understand the "hackish" one you posted. what do the ' ' marks do before and after nums? I've never seen that notation before. furthermore, what does the / 3 accomplish?

• @N413 Backticks do the same as `repr` (in Python 2. They were removed in Python 3). So for example for `[1, 0, 1, 1, 0, 1]` you get its string representation `'[1, 0, 1, 1, 0, 1]'`. When you split that by `'0'`, you get the strings `'[1, '` and `', 1, 1, '` and `', 1]'`. Since every `1` is accompanied by a comma and a space, I need to divide the length by 3. There are some extra characters like the `[` but the integer division rounding down happens to perfectly take care of this. That's the main reason I called it "hackish" :-)

• ah, thank you, def a bit hacky but it works! nice.