算法零基础自学,零起点学算法

  算法零基础自学,零起点学算法

  Yyds干货库存

  不废话就开始吧。

  参考剑招09。用两个栈实现队列主题的链接

  求解类队列{

  私人:

  stack int stack1,stack2

  公共:

  CQueue() {}

  void appendTail(int value) {

  stack1.push(值);

  }

  int deleteHead() {

  if (stack2.empty()) {

  if (stack1.empty()) {

  return-1;

  }

  而(!stack1.empty()) {

  stack 2 . push(stack 1 . top());

  stack 1 . pop();

  }

  }

  int value=stack 2 . top();

  stack 2 . pop();

  返回值;

  }

  };

  解析标题需要用stack实现队列,具体指两个操作:在队列末尾添加整数,在头部删除元素。

  如果堆栈的底部被视为队列的头部,堆栈的顶部被视为队列的尾部,则

  对于向队列末尾添加整数,可以直接使用堆栈的push方法。

  对于删除头部的元素,栈没有提供删除栈底元素的方法,需要添加一个辅助栈stack2。

  当stack1中的元素被依次推送到stack2时,stack2就变成了原stack1的翻转,然后可以用stack2.pop删除它。

  至于把stack2重新安装回stack1,这个问题不考虑。

  补充总结是学习计划中的第一题,不过是看了官方解答后写的。一开始不明白输入输出。

  输入:

  [CQueue , appendTail , deleteHead , deleteHead , deleteHead]

  [[],[3],[],[],[]]

  输出:[null,null,3,-1,-1]

  这里,下面的数组是CQueue的原貌,上面的数组是输入命令。

  并且输出是在每次输入命令时输出一个值。

  Stack1和stack2是私有定义的,通过成员函数访问。

  指剑报价30。包含最小函数的堆栈标题链接。

  求解类MinStack {

  stack int stack1,stack2

  公共:

  /**在此初始化您的数据结构。*/

  MinStack() {

  stack 2 . push(INT _ MAX);

  }

  void push(int x) {

  stack 1 . push(x);

  stack2.push(:min(stack2.top(),x));

  }

  void pop() {

  stack 1 . pop();

  stack 2 . pop();

  }

  int top() {

  返回stack 1 . top();

  }

  int min() {

  返回stack 2 . top();

  }

  };

  为了解决这个问题,我们需要使用堆栈来实现一个函数,可以返回堆栈中最小的整数。

  相对于从栈中重新查找,还可以设置一个辅助栈stack2,每次放入栈中存储最小数。

  也就是stack2.push(min(new,old)),之后当stack1元素出栈时,stack2中的元素也出栈,保持两者的个数不变,保证stack2栈顶的元素始终是stack1中最小的元素。

  相比补充总结,第一题难度较小。

  你需要注意的是在构造函数中初始化stack2,INT_MAX是一个整数常量,代表最大的整数。

  ,转载请联系作者取得转载授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 日语零基础从什么东西开始学,怎么从零基础学日语
  • 零基础学编程的网站,零基础学编程的软件,你知道吗-
  • ps教程从零开始学,零基础学葫芦丝
  • 电脑编程初级入门,零基础电脑编程入门自学
  • WEB前端开发程序员,零基础学web前端开发难吗
  • python初学者入门,零基础学Python
  • 用python编写我的世界,零基础学Minecraft编程
  • 零基础学哪个编程语言-,零基础学编程应该学什么语言
  • 零基础学python好学吗,零基础学python怎么学
  • 零基础学python用哪本书好,适合初学python的书
  • 零基础python入门看哪本书好,自学python最好的入门书籍
  • 零基础学化妆好学吗,零基础自学化妆
  • 零基础学程序员从哪里开始,零基础,想要成为一名程序员要怎么做
  • Python入门视频,python零基础教学视频
  • python人工智能编程实例,零基础学会python人工智能
  • 留言与评论(共有 条评论)
       
    验证码: