与月亮独白,在硫磺之日下,众神将在此夜起舞|

Marinaco

园龄:3个月粉丝:3关注:4

合集-左神算法课

子集(递归)
摘要:题目链接:https://leetcode.cn/problems/subsets-ii/submissions/591733085/ 题意: 给你一个数组,输出不同数字的组合(若两个组合都挑一个1,一个2,无论顺序如何,只输出一个) 思路: 先排序,将不同数字分组,再讨论每组选0,1,2,...n
9
0
0
全排列(递归)
摘要:题目链接:https://leetcode.cn/problems/permutations/ 思路: 只用题目给的nums数组进行递归,swap进行交换,注意还原现场 class Solution { public: vector<vector<int>> permute(vector<int>&
3
0
0
岛屿填充(并查集/洪水填充)
摘要:题目链接:https://leetcode.cn/problems/number-of-islands/submissions/591894989/ 题意: 给你一个01 grid,只有上下左右都有1才能链接成一座岛屿(斜着不算),让你求能连成多少个岛屿 思路: 并查集: 把grid每个坐标转化为数
6
0
0
每日温度(单调栈)
摘要:题目链接:https://leetcode.cn/problems/daily-temperatures/ 题意: 给你一个每日气温数组,请你确定每个位置右边是否比自己大的元素,如果无,返回0。否则,返回两者下标之差 思路: 单调栈(这就好似给了数组中每个位置做波峰或波谷的机会)(ps:单调栈一定存
7
0
0
子数组最小值(单调栈)
摘要:题目链接:https://leetcode.cn/problems/sum-of-subarray-minimums/ 题意: 给定一个数组,让你求子数组最小值的和,复杂度O(N) 思路: 单调栈(获得每个位置左边比它小且离它最近的数,右边比它小且离它最近的数,那么在这之间它本身就是区间最小值) c
7
0
0
最大矩形(单调栈)
摘要:题目链接:https://leetcode.cn/problems/maximal-rectangle/description/ 题意: 给定一个只有0和1的矩阵,试求只包含1的长方形的最大面积 思路: 每行将矩阵压缩成一个高度数组,转化为求矩形最大面积 class Solution { publi
12
0
0
字符串解码(递归)
摘要:题目链接:https://leetcode.cn/problems/decode-string/ 题意: 嵌套递归 class Solution { public: int where; string repeat(string path,int cnt) { string ans=""; for(
5
0
0
三种建图方式
摘要:int n=20;//点的个数 int m=21;//边的个数 const int maxn=25; //邻接矩阵建图 int gra1[maxn][maxn]; void build(int n,int m,int from[],int to[],int weight[]) { for(int i
5
0
0
课程表(拓补排序)
摘要:题目链接:https://leetcode.cn/problems/course-schedule-ii/description/ 题意: 给定n门课程,规定只有学完某一个课程才能继续学下一门课程,让你输出学习顺序。如果成环,则返回空数组 思路: 拓补排序,入度删除法 需要提前准备一个indegre
4
0
0
堆结构与堆排序
摘要:测试链接:https://leetcode.cn/problems/sort-an-array/ 堆结构: 是一颗完全二叉树 分为大根堆和小根堆 大根堆:每一颗子树最大值都在子树的根部 小根堆:每一颗子树最小值都在子树的根部 每一位父亲i的两个孩子的节点位置(若存在)分别为:i*2+1,i*2+2
5
0
0
最小路径和(二维dp)
摘要:题目链接:https://leetcode.cn/problems/minimum-path-sum/ 题意: 求出在二维grid中不同路径下到达终点的最小值 空压dp版本 class Solution { public: int minPathSum(vector<vector<int>>& gr
5
0
0
单词搜索(递归)
摘要:题目链接: https://leetcode.cn/problems/word-search/ 题意: 给定二维char数组,询问是否能够有路径来获得给定的字符数组 无法改为动态规划表 class Solution { public: bool exist(vector<vector<char>>&
4
0
0
LCS(递归/记忆化/dp)
摘要:题目链接: https://leetcode.cn/problems/longest-common-subsequence/ TLE 暴力递归+记忆化版本(基于字符串长度无优化版本)//注意text1[i1-1]==text2[i2-1] class Solution { public: int d
8
0
0
树状数组板子(单点增加+范围查询)
摘要:用于解决 范围数字和 与 单点增加 问题(复杂度O(logn)) build 方法(构造树状数组) void build(){ for(int i=1,v;i<=n;i++){ cin>>v; add(i,v); } } lowbit方法 (获取一个二进制数最低位的1的状态) int lowbit(
3
0
0
//雪花飘落效果
点击右上角即可分享
微信分享提示
深色
回顶
收起