首页 > TAG信息列表 > instack

剑指offer(9)

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

剑指offer_09 用两个栈实现队列

//思路在剑指offer书的图里,很容易理解。这里由于c没有API,所以要先定义Stack结构体,不像JavaScript有已经定义好的结构体。并且一些如弹入弹出的操作,也需要自己定义。 1 typedef struct { 2 int* stk; 3 int stkSize; 4 int stkCapacity; 5 } Stack; 6 7 Stack

19_232. 用栈实现队列

题目描述: 解题思路: 想着利用两个栈stack1和stack2,把stack1当作队列,其pop和队列的pop一样,然后每次push数据,就把stack1中的数据,依次出栈并入栈stack2,这样stack2中的顺序,就是最开始的入栈顺序,然后将新数据入栈stack2,再把stack2中所有数据依次出栈并入栈stack1。结果超出时间限制。

数组/链表高效去重(算法题

有序数组/链表去重 对于数组相关的算法题,有一个通用的技巧:要尽量避免在中间删除元素,那我就先想办法把这个元素换到最后去。这样的话,最终待删除的元素都拖在数组尾部,一个一个 pop 掉就行了,每次操作的时间复杂度也就降低到 O(1) 了。 按照上面的思路可以使用双指针的方法,我们让慢指

1515:网络协议(tarjan+缩点

#include<bits/stdc++.h> using namespace std; const int N=1e5+10; struct node{ int to,nxt; }d[N*2];int head[N*2],tot=0; void add(int a,int b){ d[++tot]={b,head[a]};head[a]=tot; } int low[N],dfn[N],Stack[N],belong[N]; int Index,top,scc,num[N];

数据去重

String removeDuplicateLetters(String s) { Stack<Character> stk = new Stack<>(); // 维护一个计数器记录字符串中字符的数量 // 因为输入为 ASCII 字符,大小 256 够用了 int[] count = new int[256]; for (int i = 0; i < s.length(); i++) {

用两个栈实现队列

class CQueue { public: stack<int>InStack; stack<int>OutStack; CQueue() { } void appendTail(int value) { InStack.push(value); } int deleteHead() { if(InStack.empty()) retur

剑指offer - 栈和队列

1.用两个栈实现队列 题目描述: 用两个栈来实现一个队列,完成队列的 Push 和 Pop 操作。 队列中的元素为 int 类型。 const inStack = []; const outStack = []; function push(node) { // write code here inStack.push(node); } function pop() { // write code here if

232. Implement Queue using Stacks

题目链接:https://leetcode.com/problems/implement-queue-using-stacks/ 可以用两个栈 inStack,outStack 来实现一个队列 inStack 用来接收每次压入的数据,因为需要得到先入先出的结果,所以需要通过一个额外栈 outStack 翻转一次。这个翻转过程(即将 inStack 中的数据压入到 outStac

P6033 Ryoku 的探索 (基环树)

题目链接    题解: 图为一个基环树。 dfs找到环,对于环上的每一个点u, 确定与它连接的具有最小美观度的边的长度w, 把这个w值更新到与它连接的其他非环上点(minval[]数组),则u和与它连接的其他非环上点的答案即为所有边长度只和减去minval[i]。   Code: 1 #include <bits/stdc++