Matej Focko
a4871df28e
URL: https://leetcode.com/problems/find-longest-special-substring-that-occurs-thrice-i/ Signed-off-by: Matej Focko <me@mfocko.xyz>
26 lines
709 B
C#
26 lines
709 B
C#
public class Solution {
|
|
public int MaximumLength(string s) {
|
|
var counter = new Dictionary<(char, int), int>();
|
|
|
|
for (var l = 0; l < s.Length; ++l) {
|
|
var c = s[l];
|
|
|
|
var substringLength = 0;
|
|
for (var r = l; r < s.Length && c == s[r]; ++r) {
|
|
++substringLength;
|
|
|
|
var key = (c, substringLength);
|
|
counter[key] = 1 + (counter.ContainsKey(key) ? counter[key] : 0);
|
|
}
|
|
}
|
|
|
|
return counter.Select(pair => {
|
|
if (pair.Value < 3) {
|
|
return null;
|
|
}
|
|
|
|
var (c, length) = pair.Key;
|
|
return (int?)length;
|
|
}).Max() ?? -1;
|
|
}
|
|
}
|