各种算法学习集合
https://github.com/youngyangyang04/leetcode-master
方法介绍
前缀树、字典树
https://blog.youkuaiyun.com/weixin_39778570/article/details/81990417 // 侧面有好多的算法集合
前缀和
滑窗法题集
https://blog.youkuaiyun.com/weixin_44731100/article/details/103285127
编程题目
题目:和可被 K 整除的子数组 链接:
https://leetcode-cn.com/problems/subarray-sums-divisible-by-k
时间 : 2021-02-02 19:00-20:00 (UTC+08:00)Beijing
https://leetcode-cn.com/problems/replace-the-substring-for-balanced-string/
单词替换--前缀树
https://leetcode-cn.com/problems/replace-words/submissions/
https://www.cnblogs.com/aaronwell/p/14448310.html
升级系统-滑窗
https://www.cnblogs.com/aaronwell/p/14448318.html
线段树
扫描线法
https://leetcode-cn.com/problems/the-skyline-problem/
动态规划
https://blog.youkuaiyun.com/liukcqu/article/details/81545845
佛洛依德算法
前缀和
单调栈 单调递减栈,栈底到栈顶,元素依次减小。
https://blog.youkuaiyun.com/lucky52529/article/details/89155694
https://blog.youkuaiyun.com/weixin_42784951/article/details/88963758
何为比武栈?
有个土财主要嫁闺女,全城的小伙子都想去试试,4.1号正式开始招亲,3.31大家就来排队。本来是是按照先来后到的顺序进行排队,但是排在后面的武功高的人不服气,就把前面武功不如自己的打跑了。
一直遇到排在自己前面武功比自己高强的人,他才会老老实实的排队。
最后演变成:每来一个人,都会和队尾的人比较,能打得过,就把他打跑,一直遇到自己打不过的人,再老老实实的排队,被打跑的人,会掏个小本本,默默的记下打跑自己的人,君子报仇,十年不晚。
这样,每一个被打跑的人,都知道在自己后面,离自己最近的,比自己厉害的人是谁;每一个能留在队中的人,都可以和地主说,我后面没有比我更加厉害的了,你把女儿嫁给我吧。
代码如下:
class Solution {
public:
vector<int> nextGreaterBoys(vector<int>& nums) {
int size = nums.size();
stack<int> st;
vector<int> res(size,-1);
for (int i = 0; i < size; ++i) {
while (!st.empty() && nums[i] > nums[st.top()]) {
res[st.top()] = nums[i];
st.pop();
}
st.push(i);
}
return res;
}
};