// 1624. Largest Substring Between Two Equal Characters
class Solution {
public int maxLengthBetweenEqualCharacters(String s) {
int[] firstSeen = new int[123];
for (int i = 97; i < 123; ++i) firstSeen[i] = -1;
char[] charArray = s.toCharArray();
int ans = -1;
for (int i = 0; i < charArray.length; ++i) {
if (firstSeen[charArray[i]] != -1) {
if (i - firstSeen[charArray[i]] - 1 > ans) {
ans = i - firstSeen[charArray[i]] - 1;
}
} else {
firstSeen[charArray[i]] = i;
}
}
return ans;
}
}
学习笔记:
这是一道简单的字符串数组题。
原本我以为两个字母之间不允许有和两端字母相同的字母,所以做成了上一个和下一个相同之间字母的距离了,结果跑出来错了。原来并不是,这道题本质是求头一个和尾一个相同字母之间的最大距离。