当前位置: 首页 > wzjs >正文

广州黄埔做网站的公司织梦动漫网站模版

广州黄埔做网站的公司,织梦动漫网站模版,网站做好第二年要多少钱,深圳创业补贴政策2022申请条件📝前言说明: 本专栏主要记录本人的基础算法学习以及LeetCode刷题记录,按专题划分每题主要记录:(1)本人解法 本人屎山代码;(2)优质解法 优质代码;&#xff…

📝前言说明:

  • 本专栏主要记录本人的基础算法学习以及LeetCode刷题记录,按专题划分
  • 每题主要记录:(1)本人解法 + 本人屎山代码;(2)优质解法 + 优质代码;(3)精益求精,更好的解法和独特的思想(如果有的话)
  • 文章中的理解仅为个人理解。如有错误,感谢纠错

🎬个人简介:努力学习ing
📋本专栏:C++刷题专栏
📋其他专栏:C语言入门基础,python入门基础,C++学习笔记,Linux
🎀CSDN主页 愚润泽

你可以点击下方链接,进行该专题内不同子专题的学习

点击链接开始学习
双指针(1)双指针(2)
双指针(3)双指针(4)
滑动窗口(1)滑动窗口(2)
滑动窗口(3)滑动窗口(4)
二分查找(1)二分查找(2)
前缀和(1)前缀和(2)
前缀和(3)位运算(1)
位运算(2)模拟算法
快速排序归并排序
链表哈希表
字符串
队列 + 宽搜优先级队列
BFS 解决 FloodFillBFS 解决最短路径
多源 BFSBFS 解决拓扑排序

题单汇总链接:点击 → 题单汇总(暂时未整理,因为还没刷完)

题目

  • 1047. 删除字符串中的所有相邻重复项
    • 个人解
  • 844. 比较含退格的字符串
    • 个人解
  • 227. 基本计算器 II
    • 优质解
  • 394. 字符串解码
    • 优质解
  • 946. 验证栈序列
    • 个人解


1047. 删除字符串中的所有相邻重复项

题目链接:https://leetcode.cn/problems/remove-all-adjacent-duplicates-in-string/description/
在这里插入图片描述

个人解

屎山代码:

class Solution {
public:string removeDuplicates(string s) {string ans;for(auto c:s){if(ans.empty() || c != ans.back())ans.push_back(c);elseans.pop_back();}return ans;}
};

时间复杂度:O(n)O(n)O(n)
空间复杂度:O(n)O(n)O(n)


844. 比较含退格的字符串

题目链接:https://leetcode.cn/problems/backspace-string-compare/description/
在这里插入图片描述

个人解

用时:3:00
屎山代码:

class Solution {
public:bool backspaceCompare(string s, string t) {string a = "", b = "";for(auto c: s){if(c == '#' && !a.empty())a.pop_back();else if(c != '#')a.push_back(c);}for(auto c: t){if(c == '#' && !b.empty())b.pop_back();else if(c != '#')b.push_back(c);}return a == b;}
};

时间复杂度:O(m+n)O(m + n)O(m+n)
空间复杂度:O(m+n)O(m + n)O(m+n)


227. 基本计算器 II

题目链接:https://leetcode.cn/problems/basic-calculator-ii/description/
在这里插入图片描述


优质解

思路:

  • 我们把整个式子看成是:所有数运算后结果的相加(这个结果可能是数本身,可能是和-绑定,可能是*/运算表达式的返回值…)
  • 当⼀个数前⾯是 ’ + ’ 或 ’ - '号的时候,这⼀个数是否会被⽴即计算是「不确定」的,因此我们可以先压⼊栈中。(负数压相反数,相当于-在这个数上运算过了)
  • 当⼀个数前面是 ’ * ’ 或 ’ / '号的时候,这⼀个数可以立即与前⾯的⼀个数进行运算。

代码:

class Solution {
public:int calculate(string s) {vector<int> st;int n = s.size(), i = 0;char op = '+';while(i < n){if(s[i] == ' ') i++;else if(s[i] >= '0' && s[i] <= '9'){// 获得当前数(有可能是多位数)int tmp = 0;while(i < n && s[i] >= '0' && s[i] <= '9') tmp = tmp * 10 + (s[i++] - '0');if(op == '+') st.push_back(tmp);else if(op == '-') st.push_back(-tmp);else if(op == '*') st.back() *= tmp;else st.back() /= tmp; // back()返回的是引用}else{op = s[i];i++;}}int ret = 0;for(auto x : st) ret += x;return ret;}
};

时间复杂度:O(n)O(n)O(n)
空间复杂度:O(n)O(n)O(n)


394. 字符串解码

题目链接:https://leetcode.cn/problems/decode-string/description/
在这里插入图片描述


优质解

思路:

  • 当我们遇到一个数字时,我们无法直接复制后面的字符串(因为后面的字符串可能还有括号,可能后面的字符还要复制)
  • 所以我们只能把这个“复制信息”存起来 → 这种先进后出的特点就会用到
    在这里插入图片描述

代码:

class Solution {
public:string decodeString(string s) {stack<string> s_st;stack<int> num_st;s_st.push(""); // 先加入一个空串处理边界情况int i = 0, n = s.size();while(i < n){if(s[i] <= '9' && s[i] >= '0'){// 提取数字int tmp = 0;while(i < n && s[i] <= '9' && s[i] >= '0')tmp = tmp * 10 + (s[i++] - '0');num_st.push(tmp);}else if(s[i] == '['){i++;string tmp = "";while(i < n && s[i] >= 'a' && s[i] <= 'z')tmp += s[i++];s_st.push(tmp);}else if(s[i] == ']'){int num = num_st.top();num_st.pop();string tmp = s_st.top();s_st.pop();for(int j = 0; j < num; j++)s_st.top() += tmp;i++;}else{string tmp = "";while(i < n && s[i] >= 'a' && s[i] <= 'z')tmp += s[i++];s_st.top() += tmp;}}return s_st.top();}
};

时间复杂度:O(n∗avg)O (n * avg)O(navg), n 是输入字符串的长度,avg 是平均重复次数
空间复杂度:O(m+l)O (m + l)O(m+l), m 是嵌套括号的最大深度,l 是输出字符串的最大长度


946. 验证栈序列

题目链接:https://leetcode.cn/problems/validate-stack-sequences/description/
在这里插入图片描述

个人解

屎山代码:

class Solution {
public:bool validateStackSequences(vector<int>& pushed, vector<int>& popped) {stack<int> st;int n = pushed.size(), i = 0, j = 0;while(i < n){st.push(pushed[i++]);while(!st.empty() && st.top() == popped[j]) // 判断栈顶元素是否能出栈{st.pop();j++;}}return st.empty();}
};

时间复杂度:O(n)O(n)O(n)
空间复杂度:O(n)O(n)O(n)


🌈我的分享也就到此结束啦🌈
要是我的分享也能对你的学习起到帮助,那简直是太酷啦!
若有不足,还请大家多多指正,我们一起学习交流!
📢公主,王子:点赞👍→收藏⭐→关注🔍
感谢大家的观看和支持!祝大家都能得偿所愿,天天开心!!!


文章转载自:

http://Yk1pNqjE.rwxnn.cn
http://JlokJ7Fe.rwxnn.cn
http://cw9XAofR.rwxnn.cn
http://fD0PbfNb.rwxnn.cn
http://yrtre4ye.rwxnn.cn
http://8g2FUdC6.rwxnn.cn
http://OX8JY6Hk.rwxnn.cn
http://tjl9S0AV.rwxnn.cn
http://nqt1TdEC.rwxnn.cn
http://Wq4CTuDY.rwxnn.cn
http://cAZvfU2P.rwxnn.cn
http://SzjUQ003.rwxnn.cn
http://swgRjsyB.rwxnn.cn
http://k0T8lOyl.rwxnn.cn
http://UXRNeuFk.rwxnn.cn
http://6IFIJQle.rwxnn.cn
http://WgYvvK00.rwxnn.cn
http://vjMsGJ2E.rwxnn.cn
http://X5Ovr8yw.rwxnn.cn
http://lDRAcbeM.rwxnn.cn
http://smpw7iWx.rwxnn.cn
http://Ad8jtA36.rwxnn.cn
http://Corq2AyC.rwxnn.cn
http://jv7bSn9r.rwxnn.cn
http://jbzIuFV9.rwxnn.cn
http://l3xO3YrY.rwxnn.cn
http://qVbixScd.rwxnn.cn
http://xjUiLjAL.rwxnn.cn
http://VJiZZX8T.rwxnn.cn
http://CEVFiChH.rwxnn.cn
http://www.dtcms.com/wzjs/745095.html

相关文章:

  • uniapp怎么做淘客网站高级网站开发培训价格
  • 网站模板是怎么制作基于asp.net网站开发
  • 优秀网站建设哪家好企业营销型网站建设的可行性
  • 移动网站趋势山东网建设
  • 网站 服务 套餐厦门市建设局查询保障摇号网站
  • 网站轮播图片psd源码seo优化排名易下拉技巧
  • 品牌展示型网站有哪些网站宣传与推广的指导思想
  • 东莞wordpress建站企业系统集成
  • wordpress搬站流程贵阳学校网站建设
  • 打开网站弹出qqwordpress 视差
  • 建设平台网站一起做网店类似网站
  • 长沙做网站的如何运用网站做宣传
  • 金华北京网站建设上海培训机构
  • 一个云主机 多个网站企业如何建设自己的网站
  • 制作企业网站一般多少钱京东网站是刘强冬自己做的吗
  • 番禺网站 建设信科网络提升网站访问量
  • 温州市住房和城乡建设厅网站首页服装设计公司排行榜
  • 永州网站建设企业wordpress 发布接口
  • 上海做网站最好的公司网站解析出问题 邮件收不到了
  • 四川建设企业网站网站备案app
  • 手机网站页面设计千卓品牌策划
  • php网站制作流程申请了域名怎么做网站
  • 石家庄网站建设wsjz网站页面设计模板
  • 手机网站制作代理商软文写作的十大技巧
  • 做报名统计的网站网站登录入口大全
  • phpcmsv9手机网站模板社区团购小程序模板
  • 青岛网站设计皆挺青岛博采网络洛阳网站建设价格
  • 个人订阅号支持微网站的建设吗公司网站平台建设
  • 个人网站建设知乎网站建设费交文化事业
  • 商城型网站怎么做优化网站平台建设目标