自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 记录跟代码随想录学习算法-动态规划、单调栈

【代码】记录跟代码随想录学习算法-动态规划。

2025-07-04 17:47:54 152

原创 记录跟代码随想录学习算法-贪心算法

为什么要按照绝对值进行排序?因为既可以按大到小的顺序,将负数转成正数;又可以在第二步转换正数时,快速找到最小的正数。局部最优:如果某一次加油之后,一直到数组最后,剩余油量一直是大于等于0的话,这一次就是起点。局部问题:nums[i] 加入上一次的和,还是作为开头?因为整个跳跃的过程是连续的,记录能跳的最大的范围。先按照h排序,再按照k插入。有剩余的再转换最小的正数。发现有两个维度,h和k。

2025-07-03 21:41:10 484

原创 记录跟代码随想录学习算法-回溯算法

因为每一个元素的状态无外乎取与不取,所以时间复杂度为O(2^n),构造每一组子集都需要填进数组(也就是ans.push([...path])),又有需要$O(n)$剪枝:可以通过抽象成树的结构,考虑横向剪枝(for循环)和纵向剪枝(递归)。方法一:抽象成树的结构,组合是求叶子节点,子集是求所有的子节点。排列问题的时间复杂度:为:n * n!子集问题、组合问题时间复杂度:O(n × 2^n)回溯法解决的问题都可以抽象为树形结构。方法一:递归,创建邻接表。方法二:转换成选或不选的问题。去重可以考虑树层去重。

2025-07-01 22:37:15 417

原创 记录跟代码随想录学习算法-二叉树

除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。循环左孩子的孩子,右孩子的孩子的节点个数是否相等。只有度为0的结点和度为2的结点,并且度为0的结点在同一层上。满二叉树的节点数量为 2 ^ n - 1,n为高度。满二叉树的节点数量为 2 ^ n - 1,n为高度。深度 depth当参数传入,高度 递归返回的值。从递归、迭代法、层序遍历的角度来考虑。左右两个子树的高度差的绝对值不超过1。外侧和外侧相等,内侧和内侧相等。5. 二叉树的高度、深度。

2025-06-26 17:59:50 312

原创 记录跟代码随想录学习算法-栈与队列

方法二:用一个队列,记录长度,shift()的次数等于长度 - 1时,下一次shift()就是需要的值。去掉括号后表达式无歧义,上式即便写成 1 2 + 3 4 + * 也可以依据次序计算出正确结果。遇到运算符则取出栈顶两个数字进行计算,并将结果压入栈中。逆波兰表达式:是一种后缀表达式,所谓后缀就是指运算符写在后面。因为快排是对整个数组进行排序,而使用堆排序仅需要维护k个元素。因为没有出队列的是最小的,剩下的元素才是前k大的元素。因为没有必要维护所有的元素,只维护最大的元素就可以了。

2025-06-23 02:52:23 229

原创 记录跟代码随想录学习算法-哈希表、字符串

next数组的作用:1. 记录0-i的最长的相等前后缀的长度 2. 回退,当前模板串和文本串不匹配时,对模板串的索引进行回退。因为要最大的利用已经符合匹配的字符串,如果回退后还是不能继续匹配,需要再次回退。因为我们的目标是进行回退,相等能保证我跳转的位置的前面的字符串是符合匹配的。时间复杂度是O(m * n),m是文本串的长度,n是模式串的长度。前缀是指包含首字母,不包含尾字母的所有子串。后缀是指包含尾字母,不包含首字母的所有子串。需要一个前缀表方便我们查询回退的位置。作用:解决字符串匹配的问题。

2025-06-09 17:25:53 147

原创 记录跟代码随想录学习算法-数组和链表

用栈的思想理解双指针。

2025-06-08 10:30:25 201

空空如也

空空如也

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

TA关注的人

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