# LeetCode 1869. Longer Contiguous Segments of Ones than Zeros

## Description

https://leetcode.com/problems/longer-contiguous-segments-of-ones-than-zeros/

Given a binary string `s`, return `true` if the longest contiguous segment of `1`s is strictly longer than the longest contiguous segment of `0`s in `s`. Return `false` otherwise.

• For example, in `s = "110100010"` the longest contiguous segment of `1`s has length `2`, and the longest contiguous segment of `0`s has length `3`.

Note that if there are no `0`s, then the longest contiguous segment of `0`s is considered to have length `0`. The same applies if there are no `1`s.

Example 1:

```Input: s = "1101"
Output: true
Explanation:
The longest contiguous segment of 1s has length 2: "1101"
The longest contiguous segment of 0s has length 1: "1101"
The segment of 1s is longer, so return true.
```

Example 2:

```Input: s = "111000"
Output: false
Explanation:
The longest contiguous segment of 1s has length 3: "111000"
The longest contiguous segment of 0s has length 3: "111000"
The segment of 1s is not longer, so return false.
```

Example 3:

```Input: s = "110100010"
Output: false
Explanation:
The longest contiguous segment of 1s has length 2: "110100010"
The longest contiguous segment of 0s has length 3: "110100010"
The segment of 1s is not longer, so return false.
```

Constraints:

• `1 <= s.length <= 100`
• `s[i]` is either `'0'` or `'1'`.

## Explanation

Compares the longest consecutive ones and zeros counts.

## Python Solution

``````class Solution:
def checkZeroOnes(self, s: str) -> bool:
longest_ones = 0
longest_zeros = 0

ones = 0
zeros = 0

for c in s:
if c == '1':
ones += 1
longest_zeros = max(longest_zeros, zeros)
zeros = 0
else:
zeros += 1
longest_ones = max(longest_ones, ones)
ones = 0

longest_zeros = max(longest_zeros, zeros)
longest_ones = max(longest_ones, ones)

return longest_ones > longest_zeros``````
• Time Complexity: O(N).
• Space Complexity: O(1).