算法
文章平均质量分 65
记录算法的技巧,以及常见算法的最优解
blissnmx
这个作者很懒,什么都没留下…
展开
-
排序算法-快速排序
【代码】排序算法-快速排序。原创 2024-03-20 10:19:25 · 119 阅读 · 1 评论 -
排序算法-递归排序
【代码】排序算法-递归排序。原创 2024-03-19 11:15:44 · 427 阅读 · 0 评论 -
算法学习day27
组合之和分割字符后回文字符串原创 2023-07-23 20:44:46 · 187 阅读 · 0 评论 -
算法学习day24
N叉树开启回溯第一篇:无序的组合原创 2023-07-16 18:19:53 · 308 阅读 · 0 评论 -
算法学习 day23
改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关系都应当保留)。树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点。所以结果应当返回修剪好的二叉搜索树的新的根节点。注意,根节点可能会根据给定的边界发生改变。二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。通过修剪二叉搜索树,使得所有节点的值在。的新值等于原树中大于或等于。排列,请你将其转换为一棵。给你二叉搜索树的根节点。原创 2023-07-12 19:48:52 · 371 阅读 · 0 评论 -
算法学习day22
中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。返回插入后二叉搜索树的根节点。给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。原创 2023-07-09 22:52:42 · 152 阅读 · 0 评论 -
算法学习day21
二叉搜索树,使用中序遍历,结果为由小到大的数组,可以使用双指针pre\cur解决问题后序遍历相当于回溯,从下往上,最后处理左右子树逻辑。原创 2023-06-14 11:32:10 · 547 阅读 · 0 评论 -
算法学习day20
递归三部曲:参数和返回值、终止条件、单层循环逻辑回溯要记录路径,一般用List记录所经过的path,回溯要和递归一起存在先序+中序,后序+中序遍历的数组,可还原唯一一颗二叉树,先序+后序则无法确认左右顺序,无法还原唯一还原二叉树,第一步找到根节点,在通过根节点切割中序、先序/后续,要梳理清楚切割的开始和结束位置。原创 2023-06-12 20:09:07 · 467 阅读 · 0 评论 -
算法学习day18
递归三部曲:参数和返回值、终止条件、单层循环逻辑回溯要记录路径,一般用List记录所经过的path,回溯要和递归一起存在先序+中序,后序+中序遍历的数组,可还原唯一一颗二叉树,先序+后序则无法确认左右顺序,无法还原唯一还原二叉树,第一步找到根节点,在通过根节点切割中序、先序/后续,要梳理清楚切割的开始和结束位置。原创 2023-06-11 21:42:20 · 718 阅读 · 0 评论 -
算法学习day17
初识回溯递归三部曲:参数和返回值、终止条件、单层循环逻辑回溯要记录路径,一般用List记录所经过的path,回溯要和递归一起存在。原创 2023-06-11 13:58:19 · 720 阅读 · 0 评论 -
算法学习day16
递归三部曲:参数和返回值、终止条件、单层循环条件层序遍历模板:队列、队列大小、循环队列大小完全二叉树性质:节点=2^h -1。原创 2023-06-08 23:03:26 · 418 阅读 · 0 评论 -
算法学习day15
二叉树的解法需要借助:栈和队列实现,递归很容易也很难,三要素:终止条件、返回值、局部变量。原创 2023-06-08 09:53:53 · 746 阅读 · 0 评论 -
算法学习day14
二叉树遍历核心在于栈的使用,递归本质为“栈”二叉树迭代,要分析出何时入栈、何时出栈。原创 2023-06-06 20:21:01 · 633 阅读 · 0 评论 -
算法学习 day13
239. 滑动窗口最大值 347.前 K 个高频元素原创 2022-10-03 15:40:57 · 2466 阅读 · 0 评论 -
算法学习 day11
消消乐”思想,可用栈存储待“消除”的符号,难点在于找到栈初始化的规律,技巧在于多画图分析。原创 2022-10-02 10:37:22 · 2260 阅读 · 0 评论 -
算法学习 day10
栈实现队列队列实现栈原创 2022-10-01 17:57:31 · 2342 阅读 · 0 评论 -
算法学习 day9
kmp算法KMP算法 [28.找出字符串中第一个字符的匹配项]原创 2022-09-30 15:20:43 · 2677 阅读 · 0 评论 -
算法学习 day8
剑指Offer58-II.左旋转字符串151.翻转字符串里的单词 剑指Offer 05.替换空格541. 反转字符串II344.反转字符串 [344.反转字符串|541. 反转字符串II | 剑指Offer 05.替换空格|151.翻转字符串里的单词|剑指Offer58-II.左旋转字符串]原创 2022-09-29 08:55:04 · 2523 阅读 · 0 评论 -
算法学习 day7
18.四数之和15.三数之和383. 赎金信 454.四数相加II [ 454.四数相加II |383. 赎金信 |15.三数之和|18.四数之和]原创 2022-09-28 08:51:55 · 2688 阅读 · 1 评论 -
算法学习 day6
1.两数之和202. 快乐数349. 两个数组的交集 242. 有效的字母异位词[242. 有效的字母异位词|349. 两个数组的交集|202. 快乐数|1.两数之和 ]原创 2022-09-27 08:52:47 · 2771 阅读 · 0 评论 -
算法学习 day4
142. 环形链表 II面试题 02.07. 链表相交19. 删除链表的倒数第 N 个结点24. 两两交换链表中的节点[24. 两两交换链表中的节点|19. 删除链表的倒数第 N 个结点|面试题 02.07. 链表相交|142. 环形链表 II]原创 2022-09-25 21:36:33 · 3060 阅读 · 0 评论 -
算法学习 day3
203. 移除链表元素|707. 设计链表206. 反转链表[203. 移除链表元素|707. 设计链表|206. 反转链表]原创 2022-09-24 23:22:29 · 3075 阅读 · 0 评论 -
算法学习 day2
有序数组平方最小子数组螺旋矩阵 [977.有序数组的平方|209. 长度最小的子数组|59.螺旋矩阵II(剥洋葱)]原创 2022-09-24 15:44:05 · 3377 阅读 · 0 评论 -
算法学习 day1
数组二分法原创 2022-09-21 19:17:06 · 2531 阅读 · 0 评论 -
二叉树的递归和非递归(栈)遍历
二叉树遍历算法,递归,非递归,栈遍历原创 2022-03-10 15:27:26 · 380 阅读 · 0 评论 -
两个字符串是否包含相同字符(小写英文组成)
两个字符串是否包含相同字符,时间复杂度O(n),空间复杂度O(1)原创 2022-03-02 16:17:43 · 234 阅读 · 0 评论 -
二进制转十进制的两种方法
二进制转十进制的两种方法从右往左举例:10110按权展开相加0*2^0 + 1*2^1 + 1*2^2 + 0*2^3 + 1*2^4 = 0 + 2 + 4 + 0 + 16 =22简化展开,去除位数为0,如下2^1 + 2^2 + 2^4 = 2 + 4 + 16 = 22从左往右每一位的和sum * 2 + 当前位数(0|1),最后sum的值即为十进制数sum = 0sum = 0 *2 + 1 = 1sum = 1 *2 + 0 = 2sum = 2 *2 + 1 = 5原创 2022-03-02 11:19:16 · 3520 阅读 · 0 评论