基础算法模板 算法板子一、基础算法1. 排序归并排序void merge_sort(int l,int r){ if(l>=r)return; int mid =l+r>>1; int i=l,j=mid+1,k=0; merge_sort(l,mid); merg
计算机应用研究投稿经验 生活 时间线 之前没记录时间节点,只能从邮件中翻出一些大概时间点,主要是一审和终审的时间。 2024.8.26 投出稿件,文章编号是300+,投稿大概一周后进入初审,具体时间记不太清了。 2024.10.10 外审意见回来,稿件退修,编辑部给10天修改时间。主要是针对文章逻辑,引言问题做修改,最后审稿人叫
c++智能指针 c++ 四种智能指针 c++里面有四个智能指针:auto_ptr, shared_ptr, unique_ptr, weak_ptr 其中第一个auto_ptr被c++11弃用。 各指针的特点: unique_ptr 独占对象的所有权,由于没有引用计数,因此性能较好 shared_ptr 共享对象的所有权,
leetcode207. 课程表 leetcode 题目 题解 对于含有环的图肯定是不可能实现的,构建拓扑排序 const int N = 2010; class Solution { public: int ne[N*2], e[N*2],idx,h[N],d[N],q[N]; void add(int a, int b){
leetcode146. LRU 缓存 leetcode 题目 题解 class LRUCache { private: int capacity; list<pair<int,int>>cache; unordered_map<int,list<pair<int,int>>::iterator> mp; public: L
leetcode148. 排序链表 leetcode 题目 题解 搬移官方题解 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nu
c++实现单例模式 c++ #include <iostream> #include <string.h> using std::cout; using std::endl; // 单例模式 class Singleton { public: // 3) 定义一个返回值为类指针的静态成员函数 // 只有第一
leetcode238. 除自身以外数组的乘积 题目 题解 使用前缀积,首先分别从左到右、从右到左记录下每个元素的积,要求第i个元素除自身以外数组的乘积,只需要该该元素i-1个从左到右的乘积*(i+1)个从右到左的乘积。 class Solution { public: vector<int> productExceptSelf(vect
leetcode1206. 设计跳表 题目 题解 search 操作:由于最后一层必然是元素最全的单链表,因此可以直接访问 ns[0].ne[0] 即是所有元素中满足大于等于 t 的第一个元素,通过判断其值与传入值 t 的大小关系来决定结果; add 操作:由于最后一层必然是元素最全的单链表,因此我们「从下往上」进行插入,最底下一层必然
leetcode76. 最小覆盖子串 题目 题解 初步思路:使用滑动窗口,定义l r两个指针分别指向s开头的位置,循环遍历s,每次r++,并使用unordered_map记录下当前窗口每个字母的数量,如果t中所有的字母都覆盖了,那么就l++,将该字母数量-1,最终找到最短的覆盖字串。 class Solution { public: