08 2022 档案
单调栈模板
摘要:力扣503 class Solution { public: vector<int> nextGreaterElements(vector<int>& nums) { int n = nums.size(); vector<int> ret(n, -1); stack<int> stk; for (
跳表模板
摘要:跳表是一种单链表的改进,在刷力扣时看到的,有篇博客写的不错,分析了跳表的复杂度和基本原理。链接搬在这里: CSND参考博客 关于数据结构的定义、查询、添加和删除的操作,力扣1206官方题解 有非常详细的PPT演示,但是官方的代码实现我觉得比较难理解,代码实现可以参考C++ 手写跳表最简单的实现方式
剑指 Offer 09. 用两个栈实现队列
摘要:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示例 1: 输入: ["CQueue","appendTail","dele
并查集必背模板
摘要:class UnionFind{ public: UnionFind(int n){ parent = vector<int>(n); rank = vector<int>(n); for(int i = 0; i < n; i++) parent[i] = i; } void uni(int x,