既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
前言
你好啊,我最近在学acwing的算法基础课,备战蓝桥杯,如果你也是一样的话,欢迎一起学习~
一、题目&解读
1、题目
题目链接{点击跳转}
定义
const int N = 100010; //范围 空间换时间
int x, m, head = 0, tail = -1; // head 队头 tail 队尾
int queue[N]; //队列
二、思路&知识点
1、知识点
队列 Queue 先进先出的一种数据结构。
栈和队列共同点 :1、删除和增添的时间复杂度都为O(1)
2、查询O(n)
因为他们是无序的,需要遍历
2、算法模板
// hh 表示队头,tt表示队尾
int q[N], hh = 0, tt = -1;
// 向队尾插入一个数
q[ ++ tt] = x;
// 从队头弹出一个数
hh ++ ;
// 队头的值
q[hh];
// 判断队列是否为空
if (hh <= tt)
{
}
三、AC代码
#include <iostream>
using namespace std;
const int N = 100010;
int x, m, head = 0, tail = -1;
int queue[N];
int main() {
cin >> m;
while (m --) {
string op;
cin >> op;
if (op == "push") {
cin >> x;
queue[++tail] = x;
}
else if (op == "pop") {
head++;
![img](https://img-blog.csdnimg.cn/img_convert/122a7a637c0306e83249c46c8db34c28.png)
![img](https://img-blog.csdnimg.cn/img_convert/10bda90f816c9690c1bb481eedcb8e81.png)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618668825)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
cs/618668825)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**