首页 > 其他分享 >day9打卡

day9打卡

时间:2024-08-30 20:37:55浏览次数:12  
标签:day9 int pop st stOut push 打卡 empty

用栈实现队列
class MyQueue {
public:
MyQueue()
{}
void push(int x)
{
stIn.push(x);
}
int pop()
{
int a;
while(!stIn.empty())
{
a = stIn.top();
stIn.pop();
stOut.push(a);
}
a = stOut.top();
stOut.pop();
while(!stOut.empty())
{
int b = stOut.top();
stOut.pop();
stIn.push(b);
}
return a;
}
int peek()
{
int a;
while(!stIn.empty())
{
a = stIn.top();
stIn.pop();
stOut.push(a);
}
a = stOut.top();
while(!stOut.empty())
{
int b = stOut.top();
stOut.pop();
stIn.push(b);
}
return a;
}

bool empty()
{
    return stIn.empty() && stOut.empty();
}

stack<int> stIn;
stack<int> stOut;

};

用队列实现栈
class MyStack {
public:
MyStack()
{
_size = 0;
}
void push(int x)
{
que.push(x);
++_size;
}
int pop()
{
int x;
for(int i = 0; i < que.size() - 1; ++i)
{
x = que.front();
que.pop();
que.push(x);
}
x = que.front();
que.pop();
--_size;
return x;
}
int top()
{
int x = this->pop();
que.push(x);
return x;
}
bool empty()
{
return que.empty();
}
private:
queue que;
int _size;
};

有效的括号

class Solution {
public:
bool isValid(string s)
{
for(int i = 0; i < s.size(); ++i)
{
if(s[i] == '(')
{
st.push(')');
}
else if(s[i] == '[')
{
st.push(']');
}
else if(s[i] == '{')
{
st.push('}');
}
else
{
if(st.empty())
{
return false;
}
else
{
char ch = st.top();
st.pop();
if(ch != s[i])
{
return false;
}
}
}
}
return st.empty();
}
private:
stack st;
};

删除字符串的相邻重复项

class Solution {
public:
string removeDuplicates(string s)
{
for(int i = 0; i < s.size(); ++i)
{
if(_st.empty())
{
_st.push(s[i]);
}
else
{
char ch = _st.top();
if(ch == s[i])
{
_st.pop();
}
else
{
_st.push(s[i]);
}
}
}
string ret;
while(!_st.empty())
{
char ch = _st.top();
ret += ch;
_st.pop();
}
reverse(ret.begin(), ret.end());
return ret;
}
private:
stack _st;
};

标签:day9,int,pop,st,stOut,push,打卡,empty
From: https://www.cnblogs.com/pwangikun/p/18389455

相关文章

  • day8打卡
    反转字符串中的单词classSolution{public:stringreverseWords(strings){intslow=0;inti=0;while(i<s.size()){if(s[i]!=''){if(slow!=0){s[slow++]='';}while(i<s.size()&&s[i]!=''){s[slow+......
  • day7打卡
    反转字符串利用双指针不断向中间靠拢,交换数据classSolution{public:voidreverseString(vector&s){intleft=0;intright=s.size()-1;while(left<right){chartmp='\0';tmp=s[left];s[left++]=s[right];s[right--]=tmp;}}};反转字符串II......
  • 给自己复盘的tjxt笔记day9
    优惠券管理开发流程需求分析,接口统计,数据库设计,创建分支,创建新模块(依赖,配置,启动类),生成代码,引入枚举状态优惠券管理增删改查的业务代码,没有新的知识点新增优惠券@Override@TransactionalpublicvoidsaveCoupon(CouponFormDTOdto){//1.保存优惠券......
  • 代码随想录训练营 Day42打卡 动态规划 part09 188.买卖股票的最佳时机IV 309. 最佳买
    代码随想录训练营Day42打卡动态规划part09一、力扣188.买卖股票的最佳时机IV给你一个整数数组prices和一个整数k,其中prices[i]是某支给定的股票在第i天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成k笔交易。也就是说,你最多可以买k次......
  • Datawhale X 李宏毅苹果书AI夏令营 Task1打卡
    3.1局部极小值与鞍点3.1.1临界点及其分类参数对于损失函数的微分为零时,就无法进一步优化了,训练即停止了。所以我们把这些梯度为零的点统称为临界点。临界点可以分为两类:极值点(局部极小值)和鞍点。鞍点就是指那些梯度为零但不是局部极小值或者局部极大值的点,因为其在损失......
  • 代码训练营 Day9 | 151.翻转字符串里的单词 | 认识KMP算法
    151.翻转字符串里的单词这道题的难度在于如何高效率的处理空格对于python来说不能实现空间O(1)的复杂度,不过对于其他语言来说下面思路可以使用双指针方法同时指向数组的头部循环遍历整个字符串直到数组末尾快指针不能为空,因为快指针是要获取字母的,慢指针是用来获取新的字......
  • day9第四章 字符串part02| 151.翻转字符串里的单词 |卡码网:55.右旋转字符串|28. 实现
    151.翻转字符串里的单词classSolution{publicStringreverseWords(Strings){////删除首尾空格,分割字符串String[]str=s.trim().split("");StringBuildersb=newStringBuilder();////倒序遍历单词列表for(inti......
  • 【读书笔记-《30天自制操作系统》-8】Day9
    本篇的主题围绕着内存管理进行展开。首先编写了内存容量获取的程序,接下来详细讲解了内存管理的具体内容,以及两种实现内存管理的方式。1.内存容量获取前面已经实现了访问内存的扩展,能够使用的内存大大增加了。但是不同的应用程序在运行时,对内存的使用会有不同的要求,这就需......
  • 企业微信如何远程打卡,免费
    现在一些定位软件不好用或者要收费,那么如何能够很好的免费实现远程打开呢?首先需要一个不用的旧手机,一直放在公司里,然后拿自己常用手机远程操作来实现,具体步骤如下:旧手机需要打开开发者模式,然后打开屏幕常亮保证不会锁屏;公司电脑下载scrcpy用来操作连接的旧手机;下载地址......
  • apk机器(手机,打卡机,录像机)连接电脑 常用adb操作命令
    adb简介adb的全称为AndroidDebugBridge,就是起到调试桥的作用。它就是一个命令行窗口,用于通过电脑端与模拟器或者是设备之间的交互。借助adb工具,我们可以管理设备的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言说,adb就是连接Android与PC......