网站做的比较好的贸易公司,跨境电商平台有哪些前期费用,互联网营销行业前景,山东聚搜网络科技有限公司题意#xff1a;所有子串中单个字符出现的次数和 问题转化#xff1a;对于串中的每个字符#xff0c;只包含其一次的所有子串的个数和 关于求只包含某位置字符一次的子串个数 class Solution {
public:int uniqueLetterString(string s) {/* ...A...A...A...*/int n s.size…题意所有子串中单个字符出现的次数和 问题转化对于串中的每个字符只包含其一次的所有子串的个数和 关于求只包含某位置字符一次的子串个数 class Solution {
public:int uniqueLetterString(string s) {/* ...A...A...A...*/int n s.size();vectorint alpha(26, -1);vectorint leftBound(n, -1); // 记录每个位置的左端点for(int i 0; i n; i){leftBound[i] alpha[s[i] - A];alpha[s[i] - A] i;}std::fill(alpha.begin(), alpha.end(), n);vectorint rightBound(n, n); // 记录每个位置的右端点for(int i n - 1; i 0; i--){rightBound[i] alpha[s[i] - A];alpha[s[i] - A] i;}int ret 0;for(int i 0; i n; i){ret (i - leftBound[i]) * (rightBound[i] - i);}return ret;}
};