数组、栈、队列、链表
YAOSHIAO
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
AcWing 154. 滑动窗口(C++算法)
AcWing 154. 滑动窗口 1、题目(来源于AcWing): 给定一个大小为n≤106的数组。 有一个大小为k的滑动窗口,它从数组的最左边移动到最右边。 您只能在窗口中看到k个数字。 每次滑动窗口向右移动一个位置。 以下是一个例子: 该数组为[1 3 -1 -3 5 3 6 7],k为3。 您的任务是确定滑动窗口位于每个位置时,窗口中的最大值和最小值。 输入格式 输入包含两行。 第一行包含两个整数n和k,分别代表数组长度和滑动窗口的长度。 第二行有n个整数,代表数组的具体数值。 同行数据之间用空格隔原创 2020-07-22 17:18:24 · 2193 阅读 · 0 评论 -
AcWing 830. 单调栈(C++算法)
AcWing 830. 单调栈 1、题目(来源于AcWing): 给定一个长度为N的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出-1。 输入格式 第一行包含整数N,表示数列长度。 第二行包含N个整数,表示整数数列。 输出格式 共一行,包含N个整数,其中第i个数表示第i个数的左边第一个比它小的数,如果不存在则输出-1。 数据范围 1≤N≤105 1≤数列中元素≤109 输入样例: 5 3 4 2 7 5 输出样例: -1 3 -1 2 2 2、基本思想: ①先用暴力作法发现要用两重循环,时间复杂原创 2020-07-21 21:27:32 · 458 阅读 · 0 评论 -
AcWing 829. 模拟队列(C++算法)
AcWing 829. 模拟队列 1、题目(来源于AcWing): 实现一个队列,队列初始为空,支持四种操作: (1) “push x” – 向队尾插入一个数x; (2) “pop” – 从队头弹出一个数; (3) “empty” – 判断队列是否为空; (4) “query” – 查询队头元素。 现在要对队列进行M个操作,其中的每个操作3和操作4都要输出相应的结果。 输入格式 第一行包含整数M,表示操作次数。 接下来M行,每行包含一个操作命令,操作命令为”push x”,”pop”,”empty”,”qu原创 2020-07-21 15:30:32 · 416 阅读 · 0 评论 -
AcWing 828. 模拟栈(C++算法)
AcWing 828. 模拟栈 1、题目(来源于AcWing): 实现一个栈,栈初始为空,支持四种操作: (1) “push x” – 向栈顶插入一个数x; (2) “pop” – 从栈顶弹出一个数; (3) “empty” – 判断栈是否为空; (4) “query” – 查询栈顶元素。 现在要对栈进行M个操作,其中的每个操作3和操作4都要输出相应的结果。 输入格式 第一行包含整数M,表示操作次数。 接下来M行,每行包含一个操作命令,操作命令为”push x”,”pop”,”empty”,”query”中原创 2020-07-21 15:20:23 · 323 阅读 · 0 评论 -
AcWing 827. 双链表(C++算法)
AcWing 827. 双链表 1、题目(来源于AcWing): 实现一个双链表,双链表初始为空,支持5种操作: (1) 在最左侧插入一个数; (2) 在最右侧插入一个数; (3) 将第k个插入的数删除; (4) 在第k个插入的数左侧插入一个数; (5) 在第k个插入的数右侧插入一个数 现在要对该链表进行M次操作,进行完所有操作后,从左到右输出整个链表。 注意:题目中第k个插入的数并不是指当前链表的第k个数。例如操作过程中一共插入了n个数,则按照插入的时间顺序,这n个数依次为:第1个插入的数,第2个插入的数原创 2020-07-20 17:14:15 · 357 阅读 · 0 评论 -
AcWing 826. 单链表(C++算法)
AcWing 826. 单链表 1、题目(来源于AcWing): 实现一个单链表,链表初始为空,支持三种操作: (1) 向链表头插入一个数; (2) 删除第k个插入的数后面的数; (3) 在第k个插入的数后插入一个数 现在要对该链表进行M次操作,进行完所有操作后,从头到尾输出整个链表。 注意:题目中第k个插入的数并不是指当前链表的第k个数。例如操作过程中一共插入了n个数,则按照插入的时间顺序,这n个数依次为:第1个插入的数,第2个插入的数,…第n个插入的数。 输入格式 第一行包含整数M,表示操作次数。 接下原创 2020-07-20 10:06:45 · 581 阅读 · 1 评论
分享