27.哀家要长脑子了!

目录

[1.316. 去除重复字母 - 力扣(LeetCode)](#1.316. 去除重复字母 - 力扣(LeetCode))

[2. 1209. 删除字符串中的所有相邻重复项 II - 力扣(LeetCode](#2. 1209. 删除字符串中的所有相邻重复项 II - 力扣(LeetCode)

哎哟 烦死了 刚刚不小心退出又没保存 又要写一遍

烦死了 最近刷题不得劲啊 感觉这脑子没长一点

1.316. 去除重复字母 - 力扣(LeetCode)

哎哟 我真的觉得神奇 好奇妙啊 怎么想到的 我真的服了

它把一个字符串做单调栈搞

用两个数组来保证字符串字典序最小(这里体现贪心的思想)与此同时又不重复 亚比 囧囧囧~~

你懂吗。。。

复制代码
class Solution {
public:
    string removeDuplicateLetters(string s) {
        vector<int> num(26), vis(26);
        for(char c : s){
            num[c - 'a']++;
        }
        string stk;
        for(char c : s){
            if(vis[c - 'a'] == 0){
                while(!stk.empty() && stk.back() > c){
                    // 这个字符后面是不是还有 
                    if(num[stk.back() - 'a'] > 0){
                        vis[stk.back() - 'a'] = 0;
                        stk.pop_back();
                    }
                    else{
                        break;
                    }
                }
                vis[c - 'a'] = 1;
                stk.push_back(c);
                
            }
            num[c - 'a']--;
        }
        return stk;
    }
};
2. 1209. 删除字符串中的所有相邻重复项 II - 力扣(LeetCode)

哎哟 我真的私密马赛 我连个暴力我都要看答案 我去死算了 骗人的哈哈

要++count 不要count++

修改后的字符串就等于原来的字符串长度了就意味着没有要改变的了 可以结束返回了

复制代码
class Solution {
public:
    string removeDuplicates(string s, int k) {
        int len = 0;
        while(len != s.size()){
            len = s.size();
            for(int i = 0, count = 1; i < s.size(); i++){
                if(i == 0 || s[i] != s[i-1]){
                    count = 1;
                }
                else if(++count == k){
                    s.erase(i - k + 1, k);
                    break;
                }
            }
        }
        return s;
    }
};

为什么我想不到啊啊啊啊

是不是总结没做到位有没有用心用脑子呢??

怎么那天没发出去。。。

相关推荐
PAK向日葵6 小时前
【算法导论】PDD 0817笔试题题解
算法·面试
地平线开发者8 小时前
ReID/OSNet 算法模型量化转换实践
算法·自动驾驶
地平线开发者9 小时前
开发者说|EmbodiedGen:为具身智能打造可交互3D世界生成引擎
算法·自动驾驶
星星火柴93610 小时前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
艾莉丝努力练剑10 小时前
【洛谷刷题】用C语言和C++做一些入门题,练习洛谷IDE模式:分支机构(一)
c语言·开发语言·数据结构·c++·学习·算法
闪电麦坤9512 小时前
数据结构:迭代方法(Iteration)实现树的遍历
数据结构·二叉树·
C++、Java和Python的菜鸟12 小时前
第六章 统计初步
算法·机器学习·概率论
Cx330❀12 小时前
【数据结构初阶】--排序(五):计数排序,排序算法复杂度对比和稳定性分析
c语言·数据结构·经验分享·笔记·算法·排序算法
散11212 小时前
01数据结构-Prim算法
数据结构·算法·图论