AC 剑指 Offer 30. 包含min函数的栈
剑指 Offer 30. 包含min函数的栈定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.min....

AC 剑指 Offer 09. 用两个栈实现队列
用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[],[]]输出:[null,null,3,-....
牛客网《剑指offer》专栏刷题练习|锻炼递归思想|练习栈的使用
一、斐波那契数列1、题目要求2、个人题解2.1、解题思路首先根据题目我们得知当n等于1或者2的时候,该函数计算结果为1,那么就先处理这种情况接下来在n大于2的情况下讨论问题,此时由题可得函数返回结果依赖于n为1或者2的返回值,那么我们就想到利用递归来解这道题。不断递推,当有结果出现时开始逐步回溯。2.2、代码实现class Solution { public: int Fibonacci...

刷穿剑指offer-Day18-栈II 单调栈的解题思路
昨日回顾昨天我们开启了栈这个数据结构的章节,分别介绍了Python和Java中栈的初始化与使用。然后通过三道题目,对栈的解题和分析有了一个初步的了解。然而昨天的栈题目,主要是针对题目的条件,判断是否需要弹出栈内元素,属于通用的栈场景。然而,今天需要介绍的是栈中特殊的一类题目,单调栈。既然是单调的,那么要么单调增、要么单调减。当我们遇到一道题目时,如何判断是否该使用单调栈的方法去解题呢?这里要注意....
刷穿剑指offer-Day17-栈I 栈的使用与基础题型!
刷穿剑指offer-Day17-栈I 栈的使用与基础题型栈的介绍栈(stack) 本身是一种简单、常用的数据结构,它常常用来和队列进行比较。队列: 先入先出栈: 后入先出栈的所有操作都发生在栈顶,其实就三个操作,入栈(压栈)、出栈(弹栈)、获取栈顶元素。Python & Java 中的栈Java中存在Stack的数据结构,但Python是没有栈的,它们的实现与操....
剑指offer刷题记录 栈、递归、二叉搜素树(下)
剑指Offer(九):变态跳台阶public class Solution { public int JumpFloorII(int target) { if(target<=0){ return -1; }else if(target==1){ return 1; }else if(tar...

剑指 Offer:09. 用两个栈实现队列
1. 题目剑指 Offer 09. 用两个栈实现队列2. 描述用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:[“CQueue”,“appendTail”,“deleteHead”,“deleteHead”]....
剑指 Offer 09. 用两个栈实现队列
题目用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示例 1:输入: ["CQueue","appendTail","deleteHead","deleteHead"] [[],[3],[],[]] 输出:[null,nu....

剑指offer之两个队列实现栈的问题
1 问题两个队列实现栈的插入和获取头部元素的功能2 分析1)获取头部元素的功能分析:我们有2个队列,我们知道队列的特点的先进先出,而栈的特点是先进后出,比如我们有数据1,2,3,4,我们分别依次压入队列1,队列2目前是空,我们需要有栈的效果,加上队列2也是先进先出的特点,意味着我们队列2里面的数据依次是4,3,2,1入队列2,现在问题转成了我们怎么操作队列1里面的数据让它依次弹出4,3,2,1入....
[剑指offer] 用两个栈实现队列
本文首发于我的个人博客:尾尾部落 题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 解题思路 两个栈 stack1 和 stack2: push 动作都在 stack1 中进行, pop 动作在 stack2 中进行。当 stack2 不为空时,直接 pop,当 stack2 为空时,先把 stack1 中的元素 pop 出来,push 到 st...
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
算法编程
开发者社区在线编程频道官方技术圈。包含算法资源更新,周赛动态,每日一题互动。
+关注