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

做购物网站实例代码永久免费的建站系统有哪些

做购物网站实例代码,永久免费的建站系统有哪些,做神马网站快速排,洛阳凯锦腾网业有限公司栈和队列的相关oj 最小栈思路解决代码 栈的压入弹出序列思路解决代码 逆波兰表达式思路:解决代码 这里就挑了三道题用来熟悉栈 最小栈 力扣链接 咱们已经是高贵的C使用者了,不用像C语言一样从头开始造轮子了 这里我们调用了stack后,就会发…

栈和队列的相关oj

  • 最小栈
    • 思路
    • 解决代码
  • 栈的压入弹出序列
    • 思路
    • 解决代码
  • 逆波兰表达式
    • 思路:
    • 解决代码

这里就挑了三道题用来熟悉栈

最小栈

力扣链接

在这里插入图片描述
咱们已经是高贵的C++使用者了,不用像C语言一样从头开始造轮子了

这里我们调用了stack后,就会发现这道题主要的问题就是getMin的功能。

思路

按照一般人的思路可能会想在成员变量中添加一个最小值的成员:min
每次进栈和出栈来比较是否与值相同,进行更新。

但是在实现的过程中就会发现这个思路并不可行
因为:
**
当最小值出栈后,那第二个最小值不知道填什么
这个问题的最主要原因是栈无法遍历**

所以这里就要用新的思路了:

双栈:
创建一个用来放最小值的栈
在这里插入图片描述

1.每次插入都进行比较,看看是否是比栈顶小,这样就可以保证栈顶一直是最小值

2.注意这里相同大小的最小值也要进行放入,防止有相同的重复最小值

3.出栈时:与最小栈的栈顶进行比较,看看是否等于,如果一样就出最小栈的栈顶
在这里插入图片描述

思路大致是这样,实现就直接放在下面了。

解决代码

class MinStack {
public:void push(int val) {_stack.push(val);if(_stack_min.empty()||val<=_stack_min.top()){_stack_min.push(val);}}void pop() {if(_stack.top()==_stack_min.top())_stack_min.pop();_stack.pop();}int top() {return _stack.top();}int getMin(){return _stack_min.top();}private:stack<int> _stack;stack<int> _stack_min;
};

栈的压入弹出序列

力扣链接

在这里插入图片描述

思路

这道题主要就是考:如何判断出栈的顺序的可行性的判断。

这里我们随便来串数字进行判断

在这里插入图片描述
那我们来看一下我们的判断方法:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
经过上图我们知道了我们判断一个出栈顺序,是否符合入栈顺序的基本过程

总结来说就是模拟入栈和出栈

所以这边我们可以把过程给归纳一下了:
1.不停入栈,直到和出栈顺序的元素相同
2.然后将出栈元素出栈,之后继续不停入栈,再知道和出栈队列元素相同
3.判断入栈元素是否无了,跳出循环
4.判断栈是否为空,如果为空栈,这样的话证明结论是是可行的,反之则不行。

解决代码

class Solution {
public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param pushV int整型vector * @param popV int整型vector * @return bool布尔型*/bool IsPopOrder(vector<int>& pushV, vector<int>& popV) {// write code herestack<int> _st;int push=0;int pop=0;while(push<pushV.size()){_st.push(pushV[push++]);while(!_st.empty()&&_st.top()==popV[pop]){_st.pop();pop++;}}return _st.empty();}
};

逆波兰表达式

力扣链接

这里首先来解释一下为什么会有这个表达式的出现:

对于计算机来说,用中缀的表达式十分不友好。
因为如果读取两个数和一个符号后,还不能马上进行计算

因为你无法确定后面有没有更高优先级的运算符。

思路:

这里其实我们看到思路也很简单其实,没有什么复杂的。

在这里插入图片描述

这里就拿这个队列来举例子。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

接下来就是重复就行了。。

思路还是很明确的。

解决代码


class Solution {
public:int evalRPN(vector<string>& tokens){for (auto& str : tokens){if (str != "*" && str != "-" && str != "+" && str != "/"){_st.push(stoi(str));}else{switch (str[0]){case '+':{int left = _st.top();_st.pop();int right = _st.top();_st.pop();_st.push(right + left);break;}case '-':{int left = _st.top();_st.pop();int right = _st.top();_st.pop();_st.push(right - left);break;}case '*':{int left = _st.top();_st.pop();int right = _st.top();_st.pop();_st.push(right * left);break;}case '/':{int left = _st.top();_st.pop();int right = _st.top();_st.pop();_st.push(right / left);break;}}}}return _st.top();}
private:stack<int> _st;};
http://www.hkea.cn/news/94356/

相关文章:

  • 兼职做网站编辑百度搜索推广开户
  • 谁告诉你j2ee是做网站的宁波网站推广找哪家公司
  • 谷歌外贸建站多少钱搭建网站教程
  • 赚钱靠普的网站关键字搜索软件
  • 建设银行深分行圳招聘网站做游戏推广一个月能拿多少钱
  • 北京网站建设及推广招聘关键词排名代做
  • 对网站建设的意见建议网络营销推广的方法有哪些
  • 爬虫网站怎么做怎样才能在百度上面做广告宣传
  • 网站页码南昌做seo的公司有哪些
  • 网络设计方案包括哪些深圳百度推广seo公司
  • 亚马逊跨境电商开店站长工具seo综合查询5g
  • 网站怎么做百度快照logo百度快照优化推广
  • 山西网站建设排名seo技术培训山东
  • 日韩系成人影片成首选网站如何优化推广
  • 网站到期续费通知搜索风云排行榜
  • 网站公司说我们做的网站服务器不够用哪个杭州seo好
  • 类似淘宝网站建设费用杭州哪家seo公司好
  • 装修网站怎样做seo专员很难吗
  • 无锡网站外包如何接广告赚钱
  • 英文网站制作 官网淘宝标题优化网站
  • 电力建设网站网络推广网站的方法
  • 如何做网站窗口网站优化网络推广seo
  • 营销型网站建设效果网络营销策划推广方案
  • 专业的网站搭建多少钱网站seo优化价格
  • 广州公司网站设计制作win10优化大师官网
  • 做调查哪个网站比较可靠百度指数查询
  • 怎么在建设厅网站报名广州网站优化服务
  • 怎么用dw做静态网站b站好看的纪录片免费
  • 济南网站建设那家好网站制作公司有哪些
  • 域名和网站名不一样营销公司