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;
    }
};

为什么我想不到啊啊啊啊

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

怎么那天没发出去。。。

相关推荐
技术不好的崎鸣同学1 小时前
[ACTF2020 新生赛]Exec 思路及解法
算法·安全·web安全
Full Stack Developme3 小时前
Java LRU 与 LFU 算法及应用
java·开发语言·算法
Jerry4 小时前
LeetCode 707. 设计链表
算法
疋瓞4 小时前
python和C++对比(1)_数据类型和数据结构
数据结构·c++·python
C语言小火车4 小时前
C++ 堆排序深度精讲:基于完全二叉树的选择排序进化,最坏情况 O(n log n) 的稳定王者
开发语言·c++·算法·排序算法·堆排序
kebidaixu4 小时前
两轮BMS AFE SH367306 I2C 读写时序
算法
智能排队系统_头部供应商4 小时前
RK3588边缘网关改造银行排队系统实战
算法
东方佑4 小时前
临界分词的存在性与最优性:从统计临界态到神经语言模型的双语实证检验
人工智能·算法·语言模型
Fabarta5 小时前
从 0 实现 ChatGPT 风格的流式对话 UI
算法·架构