网站改版iis301跳转如何做,wordpress安装504,黄骅港股票代码,自媒体营销平台文章目录1. 题目2. 解题1. 题目
描述 给你一个只由字母’A’和’B’组成的字符串s#xff0c;找一个最长的子串#xff0c;要求这个子串里面’A’和’B’的数目相等#xff0c;输出该子串的长度。
这个子串可以为空。
s的长度n满足 2n1000000。示例
样例1
输入: s…
文章目录1. 题目2. 解题1. 题目
描述 给你一个只由字母’A’和’B’组成的字符串s找一个最长的子串要求这个子串里面’A’和’B’的数目相等输出该子串的长度。
这个子串可以为空。
s的长度n满足 2n1000000。示例
样例1
输入: s ABAAABBBA
输出: 8
解释:
子串 s[0,7] 和子串 s[1,8] 满足条件长度为 8。样例2
输入: s AAAAAA
输出: 0
解释:
s 中除了空字串不存在 A 和 B 数目相等的子串。https://tianchi.aliyun.com/oj/496421179568411239/552131449257661029
2. 解题
遇到 A 1 遇到 B -1同时将没有出现过的值存入哈希若哈希中存在某一值则中间的AB个数相等
class Solution {
public:/*** param S: a String consists of a and b* return: the longest of the longest string that meets the condition*/int getAns(string s) {// Write your code hereunordered_mapint,int m;m[0] -1;int sum 0, ans 0;for(int i 0; i s.size(); i){if(s[i] A)sum;elsesum--;if(m.find(sum) ! m.end())ans max(ans, i-m[sum]);elsem[sum] i;}return ans;}
};我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号Michael阿明一起加油、一起学习进步