自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 收藏
  • 关注

原创 算法训练营第三十一天(8.15)| 贪心Part04

先考虑身高(从大到小:为了保证后序的插入过程中,维护k的有序性)实际上是一个模拟题,贪心体现在:有10块的话,就先用10快的。题目地址:​​​​​​​。

2023-08-15 11:32:34 77

原创 算法训练营第三十天(8.14)| 贪心Part03

思路:从左向右一次,从右向左一次。思路:每次都选最小的变。题目地址:​​​​​​​。题目地址:​​​​​​​。

2023-08-14 10:33:23 71

原创 算法训练营第二十九天(8.12)| 贪心Part02

关键:维护一个cover。题目地址:​​​​​​​。

2023-08-12 10:23:15 72

原创 算法训练营第二十八天(8.11)| 贪心Part01

【代码】算法训练营第二十八天(8.11)| 贪心Part01。

2023-08-12 08:36:46 215

原创 算法训练营第二十七天(8.10)| 回溯Part06:八皇后&欧拉通路

思路很好想,重点在于isVaild判断合法的位置。题目类型:欧拉通路、深度优先。

2023-08-10 14:54:04 54

原创 算法训练营第二十六天(8.9)| 回溯Part05:全排列&集合

注意:与全排列很像,只不过是nums数组中可能会出现重复得元素,所以除了要使用used标记之外,还要使用同一树层不能出现重复元素的性质来进行去重,由于可以sort,所以不需要使用哈希set。注意:同一层上不能使用相同值得元素,并且与之前题目不同得是,本题无序,所以不能用used来判断,应当在每一层上加上一个哈希set来判断。题目地址:​​​​​​​。

2023-08-09 11:16:56 57

原创 算法训练营第二十五天(8.8)| 回溯Part04:组合&集合

思路与昨天做过的Combination Sum II很像,涉及到一个去重问题,即考虑相同的元素是在同一树枝or同一数层;若在同一树层,则要将其直接舍弃掉。

2023-08-08 11:12:42 72

原创 算法训练营第二十四天(8.7)| 回溯Part03:组合

重点:本题回溯枚举的是分割点的位置。题目地址:​​​​​​​。题目类型:回溯、组合。题目类型:回溯、组合。题目类型:回溯、分割。

2023-08-07 14:53:10 96

原创 算法训练营第二十三天(8.5)| 回溯Part02:组合

【代码】算法训练营第二十三天(8.5)| 回溯Part02:组合。

2023-08-05 09:43:20 120

原创 算法训练营第二十二天(8.4)| 回溯Part01:组合

题目类型:回溯、组合(不用排序)

2023-08-04 11:12:36 79

原创 算法训练营第二十一天(8.3)| 树Part09:BST04

题目类型:右中左遍历。

2023-08-03 10:42:02 77

原创 算法训练营第二十天(8.2)| 树Part08:BST03

注意:当节点左右孩子都不为空时,删除节点应当注意。题目类型:祖先、BST。题目类型:BST+递归。

2023-08-02 15:01:11 56

原创 算法训练营第十九天(8.1)| 树Part07:BST(中序遍历)

思路:BST中序遍历节点的val会递增,所以采用中序遍历,然后使用pre来存储上一个节点,方便计算差值。题目类型:BST(采用中序遍历)题目类型:BST(采用中序遍历)题目类型:祖先、后序遍历。

2023-08-01 11:00:38 66

原创 算法训练营第十八天(7.31)| 树Part06:BST

注意:本题比较省时空复杂度的写法是将root1作为基准树,而不需要新构造一个节点。注意:BST相关问题优先考虑中序遍历。题目地址:​​​​​​​。

2023-07-31 15:31:03 78 1

原创 算法训练营第十七天(7.29)| 树Part05:递归&迭代

现在纸上手写一下,然后再写递归即可。:明确是要找最底层的最左边的节点。:注意使用一个数组来存储节点。题目类型:dfs+回溯。题目类型:DFS+回溯。题目类型:递归+迭代。

2023-07-30 11:58:08 55 1

原创 算法训练营第十六天(7.28)| 树Part04:递归

题目类型:递归+全局变量。

2023-07-28 11:51:05 97 1

原创 算法训练营第十五天(7.27)| 树Part03:递归

思路:更上一道题很像,但是要考虑:遇到叶节点就返回,并且如果某个节点只有一个孩子,那么这个节点只能向孩子一方遍历。思路:注意采用完全二叉树的性质从而避免遍历所有n个节点,然后可以采用位运算缩短运算时间。

2023-07-27 15:22:10 95 1

原创 算法训练营第十四天(7.26)| 树Part02:层次遍历

思路:标准的层次遍历。

2023-07-26 11:31:20 88 1

原创 算法训练营第十三天(7.25)| 树Part01:迭代法遍历

【代码】算法训练营第十三天(7.25)| 树Part01:迭代法遍历。

2023-07-25 11:17:03 116

原创 算法训练营第十二天(7.24)| 栈&队列Part03:优先队列+单调队列

维护一个优先队列,每次窗口右移前,判断最大元素是否在队列中。: 维护一个单调队列(递减),队列中存储的是nums的下标。: 先用哈希map存储次数,再使用大顶堆排序。题目类型:优先队列 / 单调队列。:如何维护优先队列的左边界。

2023-07-24 14:40:44 54

原创 PAT甲级刷题:模拟(不断更新)

注意从测试用例找到突破口,这道题每行包括两个字符串,每一个都要cin。注意每三位数字出现一个逗号是从。注意题目的输入和输出都是字符串。

2023-07-23 15:00:24 267

原创 算法训练营第十一天(7.22)| 栈&队列Part02:模拟+后缀表达式

简单栈模拟,直接AC,不过注意压栈的对象,比如碰到 '(' 压栈 ')' 可以减少码量。:最基本的后缀表达式,使用栈模拟。:不断压栈,最后依次取出。题目地址:​​​​​​​。

2023-07-22 15:07:50 131 1

原创 算法训练营第十天(7.21)| 栈&队列Part01:基础

思路:分别构造stIn(进队)和stOut(出队),当需要pop或者peek时,观察stOut是否为空,如果为空,将stIn的元素依次压栈进入stOut,之后可以直接在栈顶取元素或者弹出元素。思路:构造两个队列qu1和qu2,使用flag标记正在使用哪一个队列,每次top和pop都将qu1和qu2置换,从而取出最后一个元素。题目类型:栈构造队列。题目类型:队列构造栈。

2023-07-21 16:11:46 124 1

原创 算法训练营第九天(7.20)| 字符串Part02:KMP

方法二(滑动):如果去除第一和最后一个元素后,还能找到原串2,则说明可重复。:标准的KMP算法,先求前缀next,再依次匹配。题目类型:KMP字符串匹配。题目类型:字符串匹配。

2023-07-20 11:06:07 113 1

原创 算法训练营第八天(7.19)| 字符串Part01

方法二:原地操作通过双指针,从尾向头依次更改。方法一:开辟新string,空间复杂度O(n)

2023-07-19 15:18:52 62

原创 算法训练营第七天(7.18)| 哈希表Part02 + 双指针

模仿两数之和的求解思路,将前两个数组之和的所有可能都存入哈希map中,再依次遍历后两个数组之和,计算个数。:本题目可以采用哈希表来做,但是边界控制困难,所以采用双指针。:标准的哈希表题目,两次遍历,一次存储,一次查找。:本题目模仿3Sum,思路一致,多加一层循环。题目地址:​​​​​​​。

2023-07-18 15:19:37 211 1

原创 算法训练营第六天(7.17)| 哈希表Part01

C++中的和是标准库中提供的两种容器,用于实现哈希表(Hash Table)数据结构。它们提供了高效的查找、插入和删除操作,适用于需要快速访问和操作元素的场景。

2023-07-17 13:36:32 222 1

原创 算法训练营第四天(7.15)| 链表Part02

画图解决,改变三次指针,注意野指针问题,每次循环记得判断是否为空指针。思路一:遇事不决哈希表(O(n)时间复杂度,O(n)空间复杂度)题目类型:单链表快慢指针。题目类型:双指针问题。

2023-07-15 17:36:03 155 1

原创 算法训练营第三天(7.14)| 链表Part01

在design linked list那道题中,因为tail的野指针问题,被卡了很久,结果到最后是因为一个等号写错了,还是要再仔细一点!思路:构建两个指针p&q,p的next指向q,依次遍历,若q的val等于val,则删除q。要注意的点是第一个元素也可能要删除,故构造一个头节点h来标识,最后返回h的next即可。:定义新的头节点h,顺序遍历head,依次头插到h中。:按照题目要求设计就好了。题目类型:无头单链表。

2023-07-14 11:35:45 499 1

原创 算法训练营第二天(7.13)| 数组Part02:双指针&滑动窗口

双指针+滑动窗口

2023-07-13 11:23:45 877 1

原创 算法训练营第一天(7.12)| 数组Part01:二分算法&双指针 (含模板)

第一次认真写博客,大概写了一两个小时,希望对有需要的人能有所帮助,这次的训练也让我对binary search有了更加透彻的理解,不过也深知还有许多未能探讨的到的地方,继续努力。:要使用O(n)的时间复杂度实现原地修改数组,第一眼要想到的就是上指针,没什么好说的,很标准很简单的一道题,直接AC。寻找插入位置等价于寻找target应当在数组中出现的位置,即等值问题,可以采用闭区间和左闭右开区间两种方法求解。题目类型:二分等值问题。题目类型:二分等值问题。2. 左闭右开区间解法。题目类型:二分区间问题。

2023-07-12 13:51:13 2120 1

原创 2.校门外的树(POJ2808)

poj第二弹,校门外的树问题,希望给大家带来帮助

2022-07-07 09:36:05 240 1

原创 1.鸡兔同笼(POJ3237)

参考书目《算法基础与在线实践》

2022-07-04 09:22:28 666

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除