算法训练营
py明天会更好
nbu信管本科
seu网安研0
展开
-
算法训练营第四十四天(9.6)| 动态规划Part17
【代码】算法训练营第四十四天(9.6)| 动态规划Part17。原创 2023-09-07 14:17:24 · 410 阅读 · 0 评论 -
算法训练营第四十三天(9.5)| 动态规划Part16:距离
题目类型:最长子序列。题目类型:最长子序列。原创 2023-09-06 11:08:54 · 227 阅读 · 0 评论 -
算法训练营第四十一天(9.2)| 动态规划Part11:最长公共子序列
题目地址:。题目类型:最长子序列。题目类型:最长子序列。原创 2023-09-03 09:07:35 · 398 阅读 · 0 评论 -
算法训练营第四十天(9.1)| 动态规划Part11:最长子序列系列
题目地址:。题目地址:。题目类型:最长子序列。题目类型:最长子序列。题目类型:最长子序列。原创 2023-09-01 22:38:49 · 323 阅读 · 0 评论 -
算法训练营第四十天(8.31)| 动态规划Part10:购买股票
题目地址:。题目地址:。原创 2023-08-31 18:03:50 · 77 阅读 · 0 评论 -
算法训练营第三十九天(8.30)| 动态规划Part09:购买股票
123.买卖股票的最佳时机III。123.买卖股票的最佳时机III。题目地址:。原创 2023-08-30 10:31:24 · 165 阅读 · 0 评论 -
算法训练营第三十八天(8.29)| 动态规划Part08:购买股票
【代码】算法训练营第三十八天(8.29)| 动态规划Part08:购买股票。原创 2023-08-29 10:25:16 · 147 阅读 · 0 评论 -
算法训练营第三十六天(8.26)| 动态规划Part07:完全背包
思路:与普通打家劫舍的区别是,首尾不能同时取,所以。原创 2023-08-28 10:45:22 · 245 阅读 · 0 评论 -
算法训练营第三十六天(8.26)| 动态规划Part07:完全背包
【代码】算法训练营第三十六天(8.26)| 动态规划Part07:完全背包。原创 2023-08-26 10:00:14 · 252 阅读 · 0 评论 -
算法训练营第三十六天(8.25)| 动态规划Part06:完全背包
题目地址:。原创 2023-08-25 14:44:44 · 258 阅读 · 0 评论 -
算法训练营第三十五天(8.24)| 动态规划Part05:完全背包
不要求顺序,先物品,后背包。要求顺序,先背包,后物品。题目地址:。原创 2023-08-25 14:10:27 · 296 阅读 · 0 评论 -
算法训练营第三十四天(8.23)| 动态规划Part04:01背包
力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台题目类型:01背包public:// 背包的最大容量应当是 sum / 2 ,因为当两堆石头的重量最接近的时候m++i) {--j) {原创 2023-08-25 13:48:59 · 220 阅读 · 0 评论 -
算法训练营第三十五天(8.22)| 动态规划Part04:背包
题目类型:基础动态规划。原创 2023-08-24 17:33:44 · 116 阅读 · 0 评论 -
算法训练营第三十五天(8.21)| 动态规划Part03
题目类型:基础动态规划。题目类型:基础动态规划。原创 2023-08-24 15:30:58 · 267 阅读 · 0 评论 -
算法训练营第三十四天(8.18)| 动态规划Part02:不同路径
可以原地DP,从而空间优化。题目类型:基础动态规划。题目类型:基础动态规划。原创 2023-08-19 10:54:45 · 48 阅读 · 0 评论 -
算法训练营第三十三天(8.18)| 动态规划Part01
题目类型:基础动态规划。题目类型:基础动态规划。题目类型:基础动态规划。原创 2023-08-18 10:54:50 · 47 阅读 · 0 评论 -
算法训练营第三十二天(8.16)| 贪心Part05:重叠区间
首先要将所有字母的最后出现位置进行存储,然后再维护每个区间的最右边界(维护方法是不断选取当前区间中字母的最右边界)题目地址:。原创 2023-08-16 11:18:18 · 40 阅读 · 0 评论 -
算法训练营第三十一天(8.15)| 贪心Part04
先考虑身高(从大到小:为了保证后序的插入过程中,维护k的有序性)实际上是一个模拟题,贪心体现在:有10块的话,就先用10快的。题目地址:。原创 2023-08-15 11:32:34 · 39 阅读 · 0 评论 -
算法训练营第三十天(8.14)| 贪心Part03
思路:从左向右一次,从右向左一次。思路:每次都选最小的变。题目地址:。题目地址:。原创 2023-08-14 10:33:23 · 41 阅读 · 0 评论 -
算法训练营第二十八天(8.11)| 贪心Part01
【代码】算法训练营第二十八天(8.11)| 贪心Part01。原创 2023-08-12 08:36:46 · 45 阅读 · 0 评论 -
算法训练营第二十七天(8.10)| 回溯Part06:八皇后&欧拉通路
思路很好想,重点在于isVaild判断合法的位置。题目类型:欧拉通路、深度优先。原创 2023-08-10 14:54:04 · 35 阅读 · 0 评论 -
算法训练营第二十六天(8.9)| 回溯Part05:全排列&集合
注意:与全排列很像,只不过是nums数组中可能会出现重复得元素,所以除了要使用used标记之外,还要使用同一树层不能出现重复元素的性质来进行去重,由于可以sort,所以不需要使用哈希set。注意:同一层上不能使用相同值得元素,并且与之前题目不同得是,本题无序,所以不能用used来判断,应当在每一层上加上一个哈希set来判断。题目地址:。原创 2023-08-09 11:16:56 · 30 阅读 · 0 评论 -
算法训练营第二十五天(8.8)| 回溯Part04:组合&集合
思路与昨天做过的Combination Sum II很像,涉及到一个去重问题,即考虑相同的元素是在同一树枝or同一数层;若在同一树层,则要将其直接舍弃掉。原创 2023-08-08 11:12:42 · 26 阅读 · 0 评论 -
算法训练营第二十四天(8.7)| 回溯Part03:组合
重点:本题回溯枚举的是分割点的位置。题目地址:。题目类型:回溯、组合。题目类型:回溯、组合。题目类型:回溯、分割。原创 2023-08-07 14:53:10 · 30 阅读 · 0 评论 -
算法训练营第二十三天(8.5)| 回溯Part02:组合
【代码】算法训练营第二十三天(8.5)| 回溯Part02:组合。原创 2023-08-05 09:43:20 · 35 阅读 · 0 评论 -
算法训练营第二十二天(8.4)| 回溯Part01:组合
题目类型:回溯、组合(不用排序)原创 2023-08-04 11:12:36 · 32 阅读 · 0 评论 -
算法训练营第二十一天(8.3)| 树Part09:BST04
题目类型:右中左遍历。原创 2023-08-03 10:42:02 · 32 阅读 · 0 评论 -
算法训练营第二十天(8.2)| 树Part08:BST03
注意:当节点左右孩子都不为空时,删除节点应当注意。题目类型:祖先、BST。题目类型:BST+递归。原创 2023-08-02 15:01:11 · 29 阅读 · 0 评论 -
算法训练营第十九天(8.1)| 树Part07:BST(中序遍历)
思路:BST中序遍历节点的val会递增,所以采用中序遍历,然后使用pre来存储上一个节点,方便计算差值。题目类型:BST(采用中序遍历)题目类型:BST(采用中序遍历)题目类型:祖先、后序遍历。原创 2023-08-01 11:00:38 · 37 阅读 · 0 评论 -
算法训练营第十八天(7.31)| 树Part06:BST
注意:本题比较省时空复杂度的写法是将root1作为基准树,而不需要新构造一个节点。注意:BST相关问题优先考虑中序遍历。题目地址:。原创 2023-07-31 15:31:03 · 35 阅读 · 1 评论 -
算法训练营第十七天(7.29)| 树Part05:递归&迭代
现在纸上手写一下,然后再写递归即可。:明确是要找最底层的最左边的节点。:注意使用一个数组来存储节点。题目类型:dfs+回溯。题目类型:DFS+回溯。题目类型:递归+迭代。原创 2023-07-30 11:58:08 · 33 阅读 · 1 评论 -
算法训练营第十六天(7.28)| 树Part04:递归
题目类型:递归+全局变量。原创 2023-07-28 11:51:05 · 41 阅读 · 1 评论 -
算法训练营第十五天(7.27)| 树Part03:递归
思路:更上一道题很像,但是要考虑:遇到叶节点就返回,并且如果某个节点只有一个孩子,那么这个节点只能向孩子一方遍历。思路:注意采用完全二叉树的性质从而避免遍历所有n个节点,然后可以采用位运算缩短运算时间。原创 2023-07-27 15:22:10 · 32 阅读 · 1 评论 -
算法训练营第十四天(7.26)| 树Part02:层次遍历
思路:标准的层次遍历。原创 2023-07-26 11:31:20 · 29 阅读 · 1 评论 -
算法训练营第十三天(7.25)| 树Part01:迭代法遍历
【代码】算法训练营第十三天(7.25)| 树Part01:迭代法遍历。原创 2023-07-25 11:17:03 · 31 阅读 · 0 评论 -
算法训练营第十二天(7.24)| 栈&队列Part03:优先队列+单调队列
维护一个优先队列,每次窗口右移前,判断最大元素是否在队列中。: 维护一个单调队列(递减),队列中存储的是nums的下标。: 先用哈希map存储次数,再使用大顶堆排序。题目类型:优先队列 / 单调队列。:如何维护优先队列的左边界。原创 2023-07-24 14:40:44 · 32 阅读 · 0 评论 -
算法训练营第十一天(7.22)| 栈&队列Part02:模拟+后缀表达式
简单栈模拟,直接AC,不过注意压栈的对象,比如碰到 '(' 压栈 ')' 可以减少码量。:最基本的后缀表达式,使用栈模拟。:不断压栈,最后依次取出。题目地址:。原创 2023-07-22 15:07:50 · 40 阅读 · 1 评论 -
算法训练营第十天(7.21)| 栈&队列Part01:基础
思路:分别构造stIn(进队)和stOut(出队),当需要pop或者peek时,观察stOut是否为空,如果为空,将stIn的元素依次压栈进入stOut,之后可以直接在栈顶取元素或者弹出元素。思路:构造两个队列qu1和qu2,使用flag标记正在使用哪一个队列,每次top和pop都将qu1和qu2置换,从而取出最后一个元素。题目类型:栈构造队列。题目类型:队列构造栈。原创 2023-07-21 16:11:46 · 44 阅读 · 1 评论 -
算法训练营第九天(7.20)| 字符串Part02:KMP
方法二(滑动):如果去除第一和最后一个元素后,还能找到原串2,则说明可重复。:标准的KMP算法,先求前缀next,再依次匹配。题目类型:KMP字符串匹配。题目类型:字符串匹配。原创 2023-07-20 11:06:07 · 39 阅读 · 1 评论 -
算法训练营第七天(7.18)| 哈希表Part02 + 双指针
模仿两数之和的求解思路,将前两个数组之和的所有可能都存入哈希map中,再依次遍历后两个数组之和,计算个数。:本题目可以采用哈希表来做,但是边界控制困难,所以采用双指针。:标准的哈希表题目,两次遍历,一次存储,一次查找。:本题目模仿3Sum,思路一致,多加一层循环。题目地址:。原创 2023-07-18 15:19:37 · 149 阅读 · 1 评论