题意
给定一串字符串,求其中有多少长度>=3子串,且该子串中某个字符只出现一次。
思路
最终答案的求取可以通过遍历以i位置为所要求的只出现一次的字符所对应的子串数量来求取。
然后显然我们不可能直接对于每个字符c,都暴力的去找左边有多少个相邻的连续的连续的字符与c不同,以及右边有多少个相邻的连续的连续的字符与c不同。于是,我们需要通过预处理,来记录每个字符左右两边分别有多少个相邻的、连续的、与此字符不同的字符,最终的答案也可以理解为左边挑
由于还有一个限制是长度>=3,所以对某一边没有符合要求的字符时,需要另一边减去只取一个字符的情况,即: