LeetCode1624. 两个相同字符之间的最长子字符串

//1624. 两个相同字符之间的最长子字符串
//遍历原字符串,记录26种字母出现的位置
//遍历每种字母出现的位置,计算差值:最后一个位置减去第一个位置
//更新答案
class Solution {
public:
  int maxLengthBetweenEqualCharacters(string s) {
    vector<int> a[26];
    for (int i = 0; i < s.size(); i++)
      a[s[i] - 'a'].emplace_back(i);
    int ans = -1;
    for (auto x : a)
      if (x.size() > 1) ans = max(ans, x.back() - x.front());
    return ans;
  }
};

你可能感兴趣的:(#,LeetCode,leetcode,字符串)