自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录算法训练营第二十九天|LeetCode134. 加油站、LeetCode135. 分发糖果、LeetCode860.柠檬水找零、LeetCode406.根据身高重建队列

本文整理了四道LeetCode贪心算法典型题目:1.加油站问题通过计算油量差值确定出发位置;2.分发糖果问题采用双向遍历确保评分高的孩子获得更多糖果;3.柠檬水找零问题模拟5/10/20美元找零过程;4.身高重建队列问题先按身高排序再根据人数指标插入。每道题均提供了题目链接、代码实现及解题思路,涵盖贪心算法在各类场景下的应用。

2025-06-25 22:27:55 192

原创 代码随想录算法训练营第二十八天|LeetCode122.买卖股票的最佳时机II、LeetCode55. 跳跃游戏、LeetCode45.跳跃游戏II、LeetCode1005.K次取反后最大化的数组和

本文分享了四个LeetCode贪心算法题的解法:1. 买卖股票II通过累加每日利润差值获取最大收益;2. 跳跃游戏I通过维护可达范围判断能否到达终点;3. 跳跃游戏II通过记录当前和下一步覆盖范围计算最小跳跃次数;4. K次取反数组和通过绝对值排序优先处理负数,最后处理剩余反转次数。每个题目都提供了力扣链接和具体代码实现,涵盖贪心算法的典型应用场景。

2025-06-25 22:21:52 226

原创 代码随想录算法训练营第二十七天|LeetCode455.分发饼干、LeetCode376. 摆动序列、LeetCode53. 最大子序和

这篇文章介绍了LeetCode上的三道贪心算法题目及其解法。455题"分发饼干"使用排序和双指针匹配孩子与饼干;376题"摆动序列"通过比较相邻差值统计最长摆动子序列;53题"最大子序和"采用动态规划思想求连续子数组最大和。每道题都提供了题目链接和完整的C++代码实现,代码简洁高效,体现了贪心算法的核心思想。这些题目适合算法学习者练习基础贪心策略的应用。

2025-06-25 22:15:54 158

原创 代码随想录算法训练营第二十五天|LeetCode491.递增子序列、LeetCode46.全排列、LeetCode47.全排列 II、LeetCode51.N皇后、LeetCode37.解数独

本文整理了LeetCode上五个经典回溯算法问题的题解,包括递增子序列、全排列、带重复元素的全排列、N皇后和解数独。每个题目都提供了力扣链接、代码随想录的文章讲解和视频讲解资源,并附上完整的C++代码实现。通过回溯算法框架,解决了寻找子序列、排列组合以及棋盘类问题,展示了如何通过递归和剪枝优化来有效解决这些常见算法问题。

2025-06-22 10:24:44 323

原创 代码随想录算法训练营第二十四天|LeetCode93.复原IP地址、LeetCode78.子集、LeetCode90.子集II

【摘要】本文分享了LeetCode中三个回溯算法的解法:93题复原IP地址采用分段验证和回溯剪枝,通过插入/删除点号来生成有效IP;78题子集通过递归遍历所有可能的组合,每次递归都保存当前路径;90题子集II在78题基础上增加了排序和去重逻辑,使用used数组避免重复子集。三题均采用典型回溯模板,展现了处理不同约束条件时的代码调整技巧。(150字)

2025-06-21 21:11:34 315

原创 代码随想录算法训练营第二十三天|LeetCode39. 组合总和、LeetCode40.组合总和II、LeetCode131.分割回文串

LeetCode39. 组合总和LeetCode40.组合总和IILeetCode131.分割回文串。

2025-06-21 21:05:53 276

原创 代码随想录算法训练营第二十二天|LeetCode77. 组合、LeetCode216.组合总和III、LeetCode17.电话号码的字母组合

的,前两题都是对同一个数组进行操作,同时也设置了startIndex来记录下一层数组的起始位置(其实也可以看成是一个新的数组,数组的第一个元素在startIndex的位置)。但是本题中每一层用到的数组需要根据层数(index)和不同的digit来回溯不同的数组(letterMap)。,那么再往后就会产生三种情况,分别是[1, 2], [1, 3], [1, 4]。,如下图,这棵树就是通过[1, 2, 3, 4]这个集合得到的,从1开始向后取数,取过的数不再重复取。假设第一次取出的是1,也就是图中的从。

2025-06-18 18:07:17 266

原创 代码随想录算法训练营第二十一天|LeetCode669. 修剪二叉搜索树、LeetCode108.将有序数组转换为二叉搜索树、LeetCode538.把二叉搜索树转换为累加树

LeetCode669. 修剪二叉搜索树文章链接:代码随想录视频链接:LeetCode:669. 修剪二叉搜索树_哔哩哔哩_bilibiliLeetCode108.将有序数组转换为二叉搜索树文章链接:代码随想录视频链接:LeetCode:108.将有序数组转换为二叉搜索树_哔哩哔哩_bilibiliLeetCode538.把二叉搜索树转换为累加树文章链接:代码随想录视频链接:LeetCode:538.把二叉搜索树转换为累加树_哔哩哔哩_bilibili。

2025-06-17 22:56:16 151

原创 代码随想录算法训练营第二十天|LeetCode235. 二叉搜索树的最近公共祖先、LeetCode701.二叉搜索树中的插入操作、LeetCode450.删除二叉搜索树中的节点

LeetCode235. 二叉搜索树的最近公共祖先文章讲解:代码随想录视频讲解:LeetCode235. 二叉搜索树的最近公共祖先_哔哩哔哩_bilibiliLeetCode701.二叉搜索树中的插入操作文章讲解:代码随想录视频讲解:LeetCode:701.二叉搜索树中的插入操作_哔哩哔哩_bilibiliLeetCode450.删除二叉搜索树中的节点文章讲解:代码随想录视频讲解:LeetCode:450.删除二叉搜索树中的节点_哔哩哔哩_bilibili。

2025-06-17 17:41:33 280

原创 代码随想录算法训练营第十八天|LeetCode530.二叉搜索树的最小绝对差、LeetCode501.二叉搜索树中的众数、LeetCode236. 二叉树的最近公共祖先

LeetCode530.二叉搜索树的最小绝对差文章讲解:代码随想录视频讲解:LeetCode:530.二叉搜索树的最小绝对差_哔哩哔哩_bilibiliLeetCode501.二叉搜索树中的众数文章讲解:代码随想录视频讲解:LeetCode:501.二叉搜索树中的众数_哔哩哔哩_bilibiliLeetCode236. 二叉树的最近公共祖先文章讲解:代码随想录视频讲解:LeetCode:236. 二叉树的最近公共祖先_哔哩哔哩_bilibili。

2025-06-14 23:06:22 190

原创 代码随想录算法训练营第十七天|LeetCode654.最大二叉树、LeetCode617.合并二叉树、LeetCode700.二叉搜索树中的搜索、LeetCode98.验证二叉搜索树

LeetCode654.最大二叉树文章讲解:LeetCode654.最大二叉树视频讲解:LeetCode:654.最大二叉树_哔哩哔哩_bilibiliLeetCode617.合并二叉树文章讲解:LeetCode617.合并二叉树视频讲解:LeetCode:617.合并二叉树_哔哩哔哩_bilibiliLeetCode700.二叉搜索树中的搜索文章讲解:LeetCode700.二叉搜索树中的搜索视频讲解:LeetCode:700.二叉搜索树中的搜索_哔哩哔哩_bilibili。

2025-06-13 22:30:16 291

原创 代码随想录算法训练营第十六天|​LeetCode513. 找树左下角的值​、LeetCode112 113. 路径总和 路径总和Ⅱ、LeetCode106. 从中序与后序遍历序列构造二叉树

​LeetCode513. 找树左下角的值​视频讲解:LeetCode:513.找二叉树左下角的值_哔哩哔哩_bilibili文章讲解:代码随想录LeetCode112 113. 路径总和 路径总和Ⅱ视频讲解:LeetCode:112. 路径总和_哔哩哔哩_bilibili文章讲解:代码随想录LeetCode106. 从中序与后序遍历序列构造二叉树视频讲解:LeetCode:106.从中序与后序遍历序列构造二叉树_哔哩哔哩_bilibili文章讲解:代码随想录。

2025-06-12 12:05:45 535

原创 代码随想录算法训练营第十五天|LeetCode110.平衡二叉树、LeetCode257. 二叉树的所有路径、LeetCode404.左叶子之和、LeetCode222.完全二叉树的节点个数

LeetCode110.平衡二叉树LeetCode257. 二叉树的所有路径LeetCode404.左叶子之和LeetCode222.完全二叉树的节点个数。

2025-06-11 23:16:13 235

原创 代码随想录算法训练营第十四天|LeetCode226.翻转二叉树、LeetCode101. 对称二叉树、LeetCode104.二叉树的最大深度、LeetCode111.二叉树的最小深度

LeetCode226.翻转二叉树LeetCode101. 对称二叉树LeetCode104.二叉树的最大深度LeetCode111.二叉树的最小深度。

2025-06-10 23:27:17 705

原创 代码随想录算法训练营第十三天|树的前序,中序,后序遍历、树的层序遍历

树的理论基础树的前序,中序,后序遍历树的层序遍历。

2025-06-09 18:00:36 422

原创 代码随想录算法训练营第十一天|LeetCode150. 逆波兰表达式求值、LeetCode239. 滑动窗口最大值、LeetCode347.前 K 个高频元素

LeetCode150. 逆波兰表达式求值文章链接:代码随想录视频讲解LeetCode:150. 逆波兰表达式求值LeetCode239. 滑动窗口最大值文章链接:代码随想录视频讲解:LeetCode:239. 滑动窗口最大值LeetCode347.前 K 个高频元素文章链接:代码随想录视频讲解:LeetCode:347.前 K 个高频元素。

2025-06-07 20:22:05 272

原创 代码随想录算法训练营第十天|LeetCode232.用栈实现队列、LeetCode225.用队列实现栈、LeetCode20.有效的括号、LeetCode1047.删除字符串中的所有相邻重复项

LeetCode232.用栈实现队列文章链接:代码随想录视频讲解:LeetCode:232.用栈实现队列LeetCode225.用队列实现栈文章链接:代码随想录视频讲解:LeetCode:225. 用队列实现栈LeetCode20.有效的括号文章链接:代码随想录视频讲解:LeetCode:20. 有效的括号LeetCode1047.删除字符串中的所有相邻重复项文章链接:代码随想录视频讲解:LeetCode:1047. 删除字符串中的所有相邻重复项。

2025-06-06 17:57:14 433

原创 代码随想录算法训练营第九天|LeetCode151.翻转字符串中的单词、KamaCoder55. 右旋字符串、LeetCode28.找出字符串中第一个匹配项的下标、LeetCode459.重复的子串

LeetCode151.翻转字符串中的单词文章链接:代码随想录视频链接:LeetCode:151.翻转字符串里的单词KamaCoder55. 右旋字符串文章链接:代码随想录LeetCode28.找出字符串中第一个匹配项的下标文章链接:代码随想录算法视频链接:KMP算法(理论篇)算法视频链接:求next数组(代码篇)LeetCode459.重复的子字符串文章链接:代码随想录视频链接:LeetCode:459.重复的子字符串最长前后缀匹配字符串就是一个字符串s的头部一部分子串和尾部一部分子串完全相同且。

2025-06-06 13:58:34 1182

原创 代码随想录算法训练营第八天|LeetCode344.反转字符串、LeetCode541.反转字符串Ⅱ、KamaCoder54.替换数字

LeetCode344.反转字符串视频链接:LeetCode:344.反转字符串文章链接:代码随想录LeetCode541.反转字符串Ⅱ视频链接:LeetCode:541. 反转字符串II文章链接:代码随想录KamaCoder54.替换数字文章链接:代码随想录。

2025-06-04 17:24:49 305

原创 代码随想录算法训练营第七天|LeetCode454.四数相加II、LeetCode383.赎金信、LeetCode15.三数之和、LeetCode18.四数之和

LeetCode454.四数相加II文章讲解视频讲解LeetCode383.赎金信文章讲解LeetCode15.三数之和文章讲解视频讲解LeetCode18.四数之和文章讲解视频讲解。

2025-06-03 19:55:28 1125

原创 代码随想录算法训练营第六天|LeetCode242.有效的字母异位词、LeetCode349.两个数组的交集、LeetCode202.快乐数、LeetCode1.两数之和

统计完第一个单词的所有字母后,再统计第二个单词与第一个单词的所有字母的数量差值,如果所有字母的数量差值都为0,则两个单词的字母及数量完全一致,返回true,否则返回false。由于unordered_set底层实现是哈希表,所以查找和增删的效率都是O(1),我们可以不使用数组而改用unordered_set来记录出现过的数字,不过要注意的是相比与数组,使用unordered_set的效率会更低,因为无论是查找还是增删都会比数组额外多出一个哈希值的计算。

2025-06-02 12:57:24 492

原创 代码随想录算法训练营第四天|LeetCode24.两两交换链表中的结点、LeetCode19.删除链表的倒数第N个结点、LeetCode面试题02.07. 链表相交、LeetCode142.环形链表Ⅱ

设置快慢两个指针,如果要找倒数第n个结点,首先让快指针从newHead指针处先向后移动n个结点,然后slow和fast同时移动,直到fast的下一个结点为NULL时,此时slow的下一个结点就是我们要找的倒数第n个结点。如下图,假设链表有环,链表的直线部分长度为x,从环的入口处到fast和slow指针相交处长度为y,从相交处回到环的入口处的长度为z。,所以此时,我们只要再让一个新的指针从head出发,当前指针从相交点出发,不断往前移动一格,最终一定会再环的入口处相交!通过最后的关系式,我们可以得知,

2025-05-31 16:13:15 428

原创 代码随想录算法训练营第三天|LeetCode203.移除链表元素、LeetCode707.设计链表、LeetCode206.反转链表

无论是单双链表都需要设置一个新的结点类MyListNode,然后根据单双链表的结构不同,添加和删除有所不同,单链表的增删比较固定,只能添加或者删除某个结点后面的结点,所以确定添加或者删除位置的时候,我们要找到该位置的前一个结点,然后再进行添加或者删除。原地反转需要设置三个指针,如下图,pCur指向的结点是当前要进行反转的结点,pPre指向的结点是前一个反转的结点,temp是用来记录下一次pCur的位置。首先要考虑要删除结点的位置不同会导致相应的代码不同,假如我们要删除值为2的结点,要。

2025-05-30 18:43:28 312

原创 代码随想录算法训练营第二天|LeetCode209. 长度最小的子数组、LeetCode59.螺旋矩阵Ⅱ

LeetCode209. 长度最小的子数组、LeetCode59.螺旋矩阵Ⅱ

2025-05-29 10:46:57 230

原创 代码随想录算法训练营第一天|LeetCode704.二分查找、LeetCode27.移除元素、LeetCode977.有序数组的平方

LeetCode704.二分查找、LeetCode27.移除元素、LeetCode977.有序数组的平方

2025-05-28 11:56:36 403

原创 机器学习回归算法(学习记录)

y = Xβ + ϵ目标值(房屋价值)y和回归系数β表示的都是列向量,而X表示的是所有样本(所有房子)的特征值(每行都表示一个房子的8个特征值),即X为特征矩阵我们所掌握的样本数据中已知的是y和X,我们所要求的就是回归系数β和误差ϵ(误差在模型训练结束后并不包含在公式中,只是评估模型的一种关键指标)☆ 注意:误差是评估模型好坏的关键,评判方法有:均方误差(MSE),绝对误差(MAE)等。

2025-01-28 16:19:52 1823

原创 机器学习分类算法(学习记录)

特征。

2025-01-24 16:28:37 954

原创 numpy学习记录

python原生list的计算时间:0.44520044326782227。ndarray的计算时间:0.14983391761779785。转为ndarray完毕。

2025-01-20 11:22:40 714

原创 matplotlib学习记录

【代码】matplotlib学习记录。

2025-01-20 11:06:11 508

原创 python正则表达式学习记录

正则表达式基本使用和练习

2025-01-15 21:24:00 2210

原创 深度学习记录(线性表示)

探究一个人的外貌,性格,财富,内涵对一个恋爱次数的影响程度。也就是根据样本的恋爱次数和样本中每个人的外貌,性格,财富,内涵的得分来通过深度学习预测出这四个领域对恋爱次数的权重。样本人数500人,这500个人的恋爱次数Y(y看成一个向量,实际上在深度学习中是一个“张量”),以及这500个人在外貌,性格,财富,内涵四个领域上的得分情况X(x可以看成是一个500行4列的矩阵,每行代表一个人在四个领域上的得分,x其实也是一个“张量”)

2025-01-05 21:39:01 1612

原创 python基础学习记录

相当于list3 = []输出结果:def my_fun2(A, B = 2): # 设置初值的参数要放在未设初值参数的后面,不可定义为my_fun2(B = 2, A)81100# 类的定义def __init__(self, name, age): # self指的是类本身dage = person("dage", 21) # 实例化# 继承输出结果:dage21dage21dageNonelaoli28I CAN FLY。

2025-01-04 16:08:24 606

空空如也

空空如也

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

TA关注的人

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