3399. Smallest Substring With Identical Characters II
3399. Smallest Substring With Identical Characters II
Description
You are given a binary string s
of length n
and an integer numOps
.
You are allowed to perform the following operation on s
at most numOps
times:
- Select any index
i
(where0 <= i < n
) and flips[i]
. Ifs[i] == '1'
, changes[i]
to'0'
and vice versa.
You need to minimize the length of the longest substring of s
such that all the characters in the substring are identical .
Return the minimum length after the operations.
Example 1:
1 | Input: s = "000001", numOps = 1 |
Explanation:
By changing s[2]
to '1'
, s
becomes "001001"
. The longest substrings with identical characters are s[0..1]
and s[3..4]
.
Example 2:
1 | Input: s = "0000", numOps = 2 |
Explanation:
By changing s[0]
and s[2]
to '1'
, s
becomes "1010"
.
Example 3:
1 | Input: s = "0101", numOps = 0 |
Constraints:
1 <= n == s.length <= 10^5
s
consists only of'0'
and'1'
.0 <= numOps <= n
Hints/Notes
- 2025/01/11
- binary search
- 0x3Fâs solution(checked)
- Weekly Contest 429 t4
Solution
Language: C++
1 | class Solution { |