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

什么是网站快照自建网站好建吗

什么是网站快照,自建网站好建吗,怎么做图片网站,做哪类英文网站赚钱栈和队列的概念 栈:吃进去吐出来 对列#xff1a;吃进去拉出来 数据结构中的栈和内存中的区别 数据结构中的栈具有后进先出的特性#xff0c;而内存中的栈是一个内存空间#xff0c;只不过这个内存空间具与数据结构的栈具有相同的特性。 栈和队列操作 栈和队列基本操作…栈和队列的概念 栈:吃进去吐出来 对列吃进去拉出来 数据结构中的栈和内存中的区别 数据结构中的栈具有后进先出的特性而内存中的栈是一个内存空间只不过这个内存空间具与数据结构的栈具有相同的特性。 栈和队列操作 栈和队列基本操作 栈操作 栈中没有迭代器因为不需要遍历元素。 最小栈 栈里面肯定有push/pop/top操作而且三个操作的时间复杂度是----O(1) 我们要添加一个操作是 获取最小值的操作------O(1) 对于一个普通的栈要获取它的最小的元素它的时间复杂度就不一定是O(1),因为只有把元素放在栈顶位置才能取 具体操作 第一种方法 用一个栈一次性压入两个元素比如我要压入2此时栈空那么这个2也就是栈中最小值我们规定第一次压入的2代表栈中的数据而第二次我们再把2压入代表栈中最小元素。 如果此时再来了一个数是1那么我门先拿这个数与栈顶元素也就是栈中最小值进行比较小那么我们再压入两次1两个1代表的意思跟上面的2一样 如果此时再来一个3我们拿3与栈顶元素也就是栈中最小值进行比较大那么我们第一次压入栈中数据元素3第二次压入1也就是始终保持物理上的栈顶元素是最小的但是理论上的栈顶元素是物理上的栈顶元素的下一个元素。 第二种方法 用两个栈一个放数据另外一个放最小值 最小栈实现 栈的弹出压入序列 给两个序列一个是弹出的序列另外一个是压入的序列看看弹出序列是否匹配压入序列 入栈: 如果栈是空的或者栈顶元素不等于出栈序列的当前元素出栈如果栈顶元素等于出栈序列出栈。 class Solution { public:bool IsPopOrder(vectorint pushV,vectorint popV) {//入栈序列和出栈序列的个数都不一样那么肯定不匹配if(pushV.size() ! popV.size())return false;stackints;size_t inIdx0; //标记入栈元素size_t outIdx0; //标记待出栈元素while(outIdx popV.size()){while(s.empty()|| s.top() ! popV[outIdx]){if(inIdx pushV.size())s.push(pushV[inIdx]);elsereturn false ;}s.pop();outIdx;}return true;} };逆波兰表达式求值 必须用到栈 stackints;用来保存所遇到的数字 依次取表达式种的每一项for (size_t i 0; i tokens.size(); i) 每一项是有可能是数字或者操作符需要判断一下if (!( str || - str || * str || / str)) 如果是数字每项都是字符串所以需要atoi转化一下再入栈s.push(atoi(str.c_str())); 取操作符到栈中取当前操作符的左右操作数 int right s.top(); s.pop(); int left s.top(); s.pop();选择是什么类型的运算并进行元素后再次入栈 switch (str[0]) {case:s.push(left right);break;case-:s.push(left - right);break;case*:s.push(left * right);break;case/://题目中说了右操作数不会为0 s.push(left / right);break; }结果就在栈顶位置return s.top(); class Solution { public:int evalRPN(vectorstring tokens) {stackint s;for (size_t i 0; i tokens.size(); i){string str tokens[i];if (!( str || - str || * str || / str)){//数字s.push(atoi(str.c_str()));}else{//操作符int right s.top();s.pop();int left s.top();s.pop();switch (str[0]){case:s.push(left right);break;case-:s.push(left - right);break;case*:s.push(left * right);break;case/:s.push(left / right);break;}}}return s.top();} };队列操作 二叉树层序遍历 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*///用来表示队列中存放的数据类型struct levelNode{int level;TreeNode *root;}; class Solution { public:vectorvectorint levelOrder(TreeNode* root) {vectorvectorintret;if(rootNULL){return ret;}queueTreeNode* q;q.push(root); //已经将第一层的所有结点放到队列种while(!q.empty()){//一次型将s一层的所有结点遍历完vectorint level;int levelSize q.size();for(size_t i 0; i levelSize;i){TreeNode * pCur q.front();level.push_back(pCur-val);//如果该结点有左右子树if(pCur-left)q.push(pCur-left);if(pCur-right)q.push(pCur-right);q.pop();}ret.push_back(level);}return ret;} };
http://www.zqtcl.cn/news/767584/

相关文章:

  • 印刷设计营销网站网站设置成黑白
  • 百度自助建站官网上海徐汇网站建设
  • 网站定制 北京贵阳网站建设公司哪家好
  • 如何做logo模板下载网站企业策划
  • 合肥做网站的公司讯登欧亚达网站是哪家公司做的
  • 网站模板带有sql后台下载企业网站建设平台的功能
  • 网站推广的实际案例电子商务网站建设的要求
  • 永平建设有限公司网站2023一般纳税人企业所得税怎么算
  • 创业网站推广怎么做简单的网站首页
  • 外贸网站模板 外贸网站制作如何推广宣传一个品牌
  • 中企动力企业邮箱 手机邮箱河南网站建设优化推广
  • 广州seo网站多少钱王野天津音乐广播电台图片
  • 东莞网站制作十强怎么做一个链接网站
  • 深圳网站设计 建设首选wordpress 获取父页面
  • 大兴企业网站建设公司wordpress谷歌字体优化
  • 哈尔滨建设银行网站网站建设运营服务商
  • 重庆本地建站企业网站建设流程及费用
  • 网站建设需要用到那些语言简述网站建设和推广评价指标
  • 17网站一起做 佛山印刷做网站网上接单
  • 网站建设步骤 优帮云网站建设首选定制开发
  • 专门做家居的网站国内企业网站设计
  • 做网站时怎么取消鼠标悬停性价比最高网站建设
  • 三网合一网站模板网站上内容列表怎么做
  • 鲜花商城网站建设西安房产网站大全
  • 家庭宽带做网站空间一个数据库可以做几个网站
  • 环境设计公司排名搜索引擎seo是什么意思
  • 北京网站建设策划排名长春市建设集团股份有限公司
  • 网站建设项目怎么跟进客户安阳哪里有做网站的
  • 重庆定制网站建设公司郑州网站模板
  • 网站 建设 领导小组wordpress下拉 友情链接