讨论/技术交流/🏆 第 238 场力扣周赛/
🏆 第 238 场力扣周赛

欢迎小伙伴们在这里交流分享你的参赛心得以及体验。【前往竞赛】

image.png

3 分 - K 进制表示下的各位数字总和
4 分 - 最高频元素的频数
5 分 - 所有元音按顺序排布的最长子字符串
6 分 - 最高建筑高度

4

T3简易。状态到5说明符合条件,如果不对应就直接找到下一个a的位置。

class Solution {
public:
    int longestBeautifulSubstring(string word) {
        int i = 0, j = 0;
        unordered_map<char,int> idx = {{'a',1},{'e',2},{'i',3},{'o',4},{'u',5}};
        int cur = 0;
        int ans = 0;
        while(j < word.size()){
            if(idx[word[j]] == cur + 1) {
                j++;
                cur++;
            }else if(idx[word[j]] == cur){
                j++;
            }else {
                while(j < word.size() && idx[word[j]] != 1) j++;
                i = j;
                cur = 0;
            }
            if(cur == 5)ans = max(j-i,ans);
        }
        return ans;
    }
};
1
展开全部 75 讨论