代码重构 【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>进入。
#### [155. 最小栈](https://leetcode-cn.com/problems/min-stack/)
@@ -15,8 +15,7 @@
输入
> ["MinStack","push","push","push","getMin","pop","top","getMin"]
> [[],[-2],[0],[-3],[],[],[],[]]
> ["MinStack","push","push","push","getMin","pop","top","getMin"] > [[],[-2],[0],[-3],[],[],[],[]]
输出
@@ -24,20 +23,15 @@
#### 题目解析
感觉这个题目的难度就在读懂题意上面读懂之后就没有什么难的了我们在上面的滑动窗口的最大值已经进行了详细描述其实这个题目和那个题目思路一致该题让我们设计一个栈该栈具有的功能有pushpoptop等操作并且能够返回栈的最小值比如此时栈中的元素为 5123我们执行 getMin() 则能够返回 1这块是这个题目的精髓所在见下图
感觉这个题目的难度就在读懂题意上面读懂之后就没有什么难的了我们在上面的滑动窗口的最大值已经进行了详细描述其实这个题目和那个题目思路一致该题让我们设计一个栈该栈具有的功能有pushpoptop 等操作并且能够返回栈的最小值比如此时栈中的元素为 5123我们执行 getMin() 则能够返回 1这块是这个题目的精髓所在见下图
![单调栈](https://cdn.jsdelivr.net/gh/tan45du/github.io.phonto2@master/myphoto/单调栈.46hlqk2xqza0.png)
我们一起先通过一个视频先看一下具体解题思路通过视频一定可以整懂的我们注意观察栈 B 内的元素
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210319162722440.gif)
我们来对视频进行解析
1.我们执行入栈操作时先观察需要入栈的元素是否小于栈 B 的栈顶元素如果小于则两个栈都执行入栈操作
我们来对视频进行解析 1.我们执行入栈操作时先观察需要入栈的元素是否小于栈 B 的栈顶元素如果小于则两个栈都执行入栈操作
2. B 的栈顶元素则是栈 A 此时的最小值 getMin() 只需返回栈 B 的栈顶元素即可
@@ -52,7 +46,7 @@ class MinStack {
public MinStack() {
A = new Stack<>();
B = new Stack<>();
}
}
//入栈,如果插入值,当前插入值小于栈顶元素,则入栈,栈顶元素保存的则为当前栈的最小元素
public void push(int x) {
A.push(x);
@@ -60,15 +54,15 @@ class MinStack {
B.push(x);
}
}
}
//出栈如果A出栈等于B栈顶元素则说明此时栈内的最小元素改变了。
//这里需要使用 equals() 代替 == 因为 Stack 中存储的是 int 的包装类 Integer
public void pop() {
if (A.pop().equals(B.peek()) ) {
B.pop();
}
}
//A栈的栈顶元素
}
//A栈的栈顶元素
public int top() {
return A.peek();
}
@@ -79,4 +73,4 @@ class MinStack {
}
```
###
###