代码重构 【Github Actions】

This commit is contained in:
github-actions[bot]
2021-07-23 15:44:19 +00:00
parent c79cac3d9c
commit f671c90754
94 changed files with 1609 additions and 2111 deletions

View File

@@ -1,8 +1,8 @@
> 如果阅读时发现错误或者动画不可以显示的问题可以添加我微信好友 **[tan45du_one](https://raw.githubusercontent.com/tan45du/tan45du.github.io/master/个人微信.15egrcgqd94w.jpg)** ,备注 github + 题目 + 问题 向我反馈
> 如果阅读时发现错误或者动画不可以显示的问题可以添加我微信好友 **[tan45du_one](https://raw.githubusercontent.com/tan45du/tan45du.github.io/master/个人微信.15egrcgqd94w.jpg)** ,备注 github + 题目 + 问题 向我反馈
>
> 感谢支持该仓库会一直维护希望对各位有一丢丢帮助
>
> 另外希望手机阅读的同学可以来我的 <u>[**公众号袁厨的算法小屋**](https://raw.githubusercontent.com/tan45du/test/master/微信图片_20210320152235.2pthdebvh1c0.png)</u> 两个平台同步,想要和题友一起刷题,互相监督的同学,可以在我的小屋点击<u>[**刷题小队**](https://raw.githubusercontent.com/tan45du/test/master/微信图片_20210320152235.2pthdebvh1c0.png)</u>进入。
> 另外希望手机阅读的同学可以来我的 <u>[**公众号袁厨的算法小屋**](https://raw.githubusercontent.com/tan45du/test/master/微信图片_20210320152235.2pthdebvh1c0.png)</u> 两个平台同步,想要和题友一起刷题,互相监督的同学,可以在我的小屋点击<u>[**刷题小队**](https://raw.githubusercontent.com/tan45du/test/master/微信图片_20210320152235.2pthdebvh1c0.png)</u>进入。
今天我们好好说说单调栈和单调队列其实很容易理解单调栈就是单调递增或单调递减的栈栈内元素是有序的单调队列同样也是
@@ -20,15 +20,13 @@
**示例 1**
> 输入: ["MaxQueue","push_back","push_back","max_value","pop_front","max_value"]
> [[],[1],[2],[],[],[]]
> 输入: ["MaxQueue","push_back","push_back","max_value","pop_front","max_value"] > [[],[1],[2],[],[],[]]
> 输出: [null,null,null,2,1,2]
**示例 2**
> 输入:
> ["MaxQueue","pop_front","max_value"]
> [[],[],[]]
> 输入:
> ["MaxQueue","pop_front","max_value"] > [[],[],[]]
> 输出: [null,-1,-1]
#### 题目解析
@@ -41,22 +39,12 @@
下面我们来说一下双端队列我们之前说过的队列遵守先进先出的规则双端队列则可以从队头出队也可以从队尾出队我们先通过一个视频来简单了解下双端队列
![](https://img-blog.csdnimg.cn/20210319154950406.gif)
我们可以用双端队列做辅助队列用辅助队列来保存当前队列的最大值我们同时定义一个普通队列和一个双端单调队列普通队列就正常执行入队出队操作max_value 操作则返回咱们的双端队列的队头即可下面我们来看一下代码的具体执行过程吧
![](https://img-blog.csdnimg.cn/20210319154716931.gif)
我们来对视频进行解析
1.我们需要维护一个单调双端队列上面的队列则执行正常操作下面的队列队头元素则为上面队列的最大值
@@ -74,10 +62,10 @@ class MaxQueue {
public MaxQueue() {
que = new LinkedList<>();
deq = new LinkedList<>();
}
//获取最大值值,返回我们双端队列的对头即可,因为我们双端队列是单调递减的嘛
}
//获取最大值值,返回我们双端队列的对头即可,因为我们双端队列是单调递减的嘛
public int max_value() {
return deq.isEmpty() ? -1 : deq.peekFirst();
return deq.isEmpty() ? -1 : deq.peekFirst();
}
//入队操作
public void push_back(int value) {
@@ -94,11 +82,11 @@ class MaxQueue {
public int pop_front() {
if(que.isEmpty()) return -1;
if (que.peek().equals(deq.peekFirst())) {
deq.pollFirst();
deq.pollFirst();
}
return que.poll();
}
}
```
###
###