首页 > 其他分享 >2024年3月3号题解

2024年3月3号题解

时间:2024-03-03 21:34:35浏览次数:28  
标签:obj int 题解 return 2024 myStackPush ans MyStack

225. 用队列实现栈

解题思路

  1. push操作是直接把元素放入队列里面
  2. pop操作时把队列头的元素放入到队列尾,重复队列元素个数减一次
  3. top操作就是pop加push操作

代码实现

typedef struct {
    int q[1001];
    int l;
    int r;
} MyStack;


MyStack* myStackCreate() {  
    MyStack* ans = (MyStack*)malloc(sizeof(MyStack));

    ans -> r = ans -> l = 0;

    return ans;
}

void myStackPush(MyStack* obj, int x) {
    obj -> q[obj -> r ++] = x;
}

int myStackPop(MyStack* obj) {
    for (int i = 0; i < obj -> r - obj -> l - 1; i ++) {
       myStackPush(obj, obj -> q[obj -> l ++]);
    }

    return obj -> q[obj -> l++];
}

int myStackTop(MyStack* obj) {
    int ans = myStackPop(obj);

    myStackPush(obj, ans);

    return ans;
}

bool myStackEmpty(MyStack* obj) {
    return obj -> l == obj -> r;
}

void myStackFree(MyStack* obj) {
    obj -> l = obj -> r = 0;
}

/**
 * Your MyStack struct will be instantiated and called as such:
 * MyStack* obj = myStackCreate();
 * myStackPush(obj, x);
 
 * int param_2 = myStackPop(obj);
 
 * int param_3 = myStackTop(obj);
 
 * bool param_4 = myStackEmpty(obj);
 
 * myStackFree(obj);
*/

 

标签:obj,int,题解,return,2024,myStackPush,ans,MyStack
From: https://www.cnblogs.com/lwj1239/p/18050663

相关文章

  • 爆零记——2024省选篇
    这是我短暂的不到半年的OI生涯中第一次爆零。不过我知道这绝对不会是最后一次的:)\[Day\;-1\]瞄了一眼各种板子,唯独没看数论。\[Day\;1\]上来先看了一眼题目,觉得T1T2是可做题。觉得T1简单,先写T1。然后写了将近两个半小时之后发现自己看错题了……题目:\[\sum_{i=0}^{m-1}(......
  • SDOI2024 游记(非正式)
    前置本caiji因为CSP-S挂大分,然后没资格参加noip,然后喜提省选锻炼选手。去年省选的rp今年加倍偿还。2024.2.18CF回蓝,近4个月的rating曲线是个近似下凸壳。前两个月因为停OI,rating狂掉240,Expert->Pupil。然后一步步缓了过来,寒假净增长240+,差不多抵消。202......
  • NOI2024联合省选 游寄
    day-62024/2/24元宵节下午去黄河北玩的路上发现没进NOIP的可以去省选锻炼,而且就在zzc的捞胆位——山师附中,就填了报名表交了上去,期待CCF能让我去。day02024/3/1等了一周,中午终于下通知了,但选Windows的被发配到山师二附中了。激动得很。晚上5:15从学校窜了出来,......
  • 2023-2024第一学期助教工作总结
    一、助教工作的具体职责和任务我每周都会帮助老师批改作业,可以及时了解课程的进度和学生的学习情况。我负责整理学生的问题和反馈。此外,当学生遇到学习问题我可以解决时,我会积极帮助。同时,经过上一次总结,留意到很多同学说会忘记作业截止时间导致没有交上作业,我会提前在qq群里提醒......
  • 【2023-2024第一学期】助教工作学期总结
    一、助教工作的具体职责和任务协助系里制作材料整理帮助老师批改作业回答学生问题二、助教工作的每周时长和具体安排每周四个小时批改作业实验课帮助老师给同学排错反馈同学问题,安排实验时间三、因为自己的助教工作,对课程、老师、学生的帮助和带来的改变(典型案例说明)自己对于......
  • 2024/3/3
    include<bits/stdc++.h>usingnamespacestd;defineintlonglongvector<array<int,5>>adj[1000005];voidsolve(){intn,m;cin>>n>>m;for(inti=0;i<m;i++){ intl,d,k,c,a,b; cin>>l>>d......
  • 2024.3
    故事的角色在这里停止行进。也许并不算意外,虽然我不知道身体原因是否能作为失利的借口。不过在江苏紧迫的竞赛氛围里,我愈发觉得难以前进下去了。初三的时候从号爸跳槽到了南外。高二的几位同学待人都非常友善,非常感谢他们对我的帮助。在南外旁边的租房里,再于阳台上伫立一次。好......
  • CF1312C Adding Powers 题解
    题意:对于一个初始全\(0\)的序列,问是否能够进行若干次操作(第\(i\)次操作为对序列中任意一个元素增加\(k^i\)),使得此序列变为目标数组\(a\)。首先,我们令需要进行操作的序列为\(b\)。我们知道,如果能通过若干次操作将\(b\)变为\(a\),则有以下三种情形:\(a\)中的元素全......
  • P8598 [蓝桥杯 2013 省 AB] 错误票据 题解
    思路考虑将\(id\)从小到大排序,然后从\(2\)下标开始扫描一遍\(id\)数组,若当前的\(id_i-id_{i-1}>1\),则说明当前\(id\)存在断号,输出\(id_i-1\);若当前的\(id_i=id_{i-1}\),则说明当前\(id\)存在重号,输出\(id_i\)。注意断号与重号需要分开计算。#include<b......
  • 助教2023-2024第一学期工作总结(计算机网络)
    一、助教工作的具体职责和任务 (包括:你和老师是如何配合的、你和课程其他助教是如何配合的(如果有的话))1.及时跟进学生学习进度每周询问老师教学进度,自己复习知识点,随时准备回复学生问题,并对后续进行安排2.编写题目,拓宽题库每周编写5-8题题目,写出答案,并发给老师审核3.和老师......