- 博客(24)
- 收藏
- 关注
原创 代码随想录算法训练营第22天| LeetCode77. 组合 | 216.组合总和III | 17.电话号码的字母组合
回溯算法part01: 77. 组合 | 216.组合总和III | 17.电话号码的字母组合
2024-07-15 19:47:00 666
原创 代码随想录算法训练营第21天| LeetCode669. 修剪二叉搜索树 | 108.将有序数组转换为二叉搜索树 | 538.把二叉搜索树转换为累加树
二叉树专题part08,修剪二叉搜索树 | 将有序数组转换为二叉搜索树 | 把二叉搜索树转换为累加树
2024-07-12 19:32:38 714
原创 代码随想录算法训练营第20天| LeetCode235. 二叉搜索树的最近公共祖先 | 701.二叉搜索树中的插入操作 | 450.删除二叉搜索树中的节点
二叉树专题part07,二叉搜索树的最近公共祖先、二叉搜索树的插入、二叉搜索树的删除
2024-07-11 19:55:08 667
原创 代码随想录算法训练营第19天| LeetCode530. 二叉搜索树的最小绝对差 | 501.二叉搜索树中的众数 | 236. 二叉树的最近公共祖先
二叉树专题part06,二叉搜索树最小绝对差,二叉搜索树众数,二叉树最近公共祖先
2024-07-10 17:16:13 376
原创 代码随想录算法训练营第18天| LeetCode654. 最大二叉树 | 617.合并二叉树 | 700.二叉搜索树中的搜索 | 98.验证二叉搜索树
二叉树专题part05,构造二叉树,合并二叉树,二叉搜索树
2024-07-08 16:55:46 921
原创 代码随想录算法训练营第16天| LeetCode513. 找树左下角的值 | 112. 路径总和 | 113. 路径总和 II | 106.从中序与后序遍历序列构造二叉树 | 105.从前序与中序遍历
二叉树专题part04,几道题目都偏难,需要反复温故。
2024-07-07 12:02:53 754
原创 代码随想录算法训练营第15天| LeetCode110.平衡二叉树| 257. 二叉树的所有路径 | 404.左叶子之和 | 222.完全二叉树的节点个数
二叉树part03
2024-07-05 21:13:01 362
原创 代码随想录算法训练营第14天| LeetCode226.翻转二叉树 | 101. 对称二叉树 | 104.二叉树的最大深度 | 111.二叉树的最小深度
漫漫长途,怎抵平芜尽处?怎见明月春山?
2024-07-04 22:33:21 780
原创 代码随想录算法训练营第12天| LeetCode150. 逆波兰表达式求值 | 239. 滑动窗口最大值 | 347.前 K 个高频元素
栈与队列part02
2024-07-02 20:52:32 484
原创 代码随想录算法训练营第11天| LeetCode232.用栈实现队列 | 225. 用队列实现栈 | 20. 有效的括号 | 1047. 删除字符串中的所有相邻重复项
使用栈解决的经典问题
2024-07-01 20:32:51 1843
原创 代码随想录算法训练营第九天| LeetCode151. 反转字符串中的单词 | 卡码网:55.右旋转字符串 | 28. 实现 strStr() | 459.重复的子字符串
字符串part02, KMP算法
2024-06-29 16:17:46 997
原创 代码随想录算法训练营第八天| LeetCode44. 反转字符串| 541. 反转字符串II | 卡码网:54.替换数字
思路:按照题目描述的步骤逐步处理字符串。我们可以使用一个循环,每次处理。简单的字符串基础题目,还是使用双指针法,easy!个字符,并根据剩余字符的数量执行相应的反转操作。中的每个字符,如果字符是数字字符,则将其替换为。5. 最后,将字符数组转换回字符串并返回。范围内,确定反转范围的起始位置。----------- 起始位置。----------- 结束位置。在处理字符串拼接时比直接使用。中的较小值,以防止越界。来构建新的字符串,因为。,方便原地修改字符;,否则保持字符不变。
2024-06-28 22:29:41 383
原创 代码随想录算法训练营第七天| LeetCode454.四数相加II | 383. 赎金信 | 15. 三数之和 | 18. 四数之和| 回顾双指针题目
HashMap与双指针法的巧妙解题
2024-06-27 21:30:58 743
原创 代码随想录算法训练营第六天| LeetCode242.有效的字母异位词 | 349. 两个数组的交集| 202. 快乐数| 1. 两数之和
由于字母异位词涉及字符的频率比较,并且假设输入的字符串只包含小写字母(a-z),我们可以使用一个长度为 26 的数组来记录每个字符的频率。最后,比较这两个哈希表,如果它们相等,则这两个字符串是字母异位词。为了找到和为目标值的两个整数,并返回它们的数组下标,我们可以使用哈希表来实现,这样可以将时间复杂度降低到 O(n)。如果在计算过程中出现了重复的数字,说明进入了无限循环,此时可以判断该数不是快乐数。中,这个集合用于存储交集的结果。
2024-06-26 21:19:50 370
原创 代码随想录算法训练营第五天| LeetCode24. 两两交换链表中的节点| 19.删除链表的倒数第N个节点 | 面试题 02.07. 链表相交| 142.环形链表II
可以使用快慢指针法,分别定义 fast 和 slow 指针,从头结点出发,fast指针每次移动两个节点,slow指针每次移动一个节点,如果 fast 和 slow指针在途中相遇 ,说明这个链表有环。双指针的经典应用,如果要删除倒数第n个节点,让fast移动n步,然后让fast和slow同时移动,直到fast指向链表末尾。让index1和index2同时移动,每次移动一个节点, 那么他们相遇的地方就是 环形入口的节点。,n为fast指针在环内走了n圈才遇到slow指针, (y+z)为 一圈内节点的个数A。
2024-06-25 21:20:09 707
原创 代码随想录算法训练营第四天| LeetCode203.移除链表元素 | 707.设计链表 | 206.反转链表
这里给出两种递归法,第一种和双指针法是一样的逻辑,同样是当cur为空的时候循环结束,不断将cur指向pre的过程。移除头结点和移除其他节点的操作是不一样的,因为链表的其他节点都是通过前一个节点来移除当前节点,而头结点没有前一个节点。可以说这五个接口,已经覆盖了链表的常见操作,是练习链表操作非常好的一道题目!方法二:通过双指针反转原链表(只需要改变链表的next指针的指向)方法一:定义一个新的链表,实现链表元素的反转(会占用内存空间),这样原链表的所有节点就都可以按照统一的方式进行移除了。
2024-06-24 21:10:36 364
原创 代码随想录算法训练营第二天| LeetCode977. 有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II、排序算法复习
代码随想录算法训练营第二天| LeetCode977. 有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II ,另复习了常见的几种排序算法
2024-06-22 20:59:48 396
原创 代码随想录算法训练营第一天| LeetCode704. 二分查找、27. 移除元素
心得:题目不难,在一个地方卡了一会儿:判断完中间数[mid]与target大小关系后,左(右)指针需移动到mid+1(mid-1),不然无法跳出循环条件(left<=right)。心得:对数组进行增删改查时善用双指针操作。由于不需要考虑移除的元素的位置,当左指针指到val时直接将右指针的值赋值给左指针,然后右指针向左移;反之左指针向右移,注意退出循环的条件。元素的顺序可能发生改变。,如果目标值存在返回下标,否则返回。个元素有序的(升序)整型数组。
2024-06-21 22:08:33 366
原创 Vs2022+Qt5.12环境配置,安装qt visual studio tools
后来是发现安装的时候未勾选visual studio扩展开发选项。打开visual studio installer,点击“修改”安装Visual Studio 扩展开发。直接使用vs2022中的扩展--》管理扩展--》联机--》搜索qt,选择安装qt visual studio tools。重现安装之后使用qt-vsaddin-msvc2019-2.4.3.vsix安装,得以正常解决问题。本地下载qt-vsaddin-msvc2019-2.4.3.vsix安装、依然无法安装成功。
2023-04-28 10:05:11 2691
原创 使用bat脚本提取文件名及批量修改文件名
在相应的文件目录下,新建一个txt文件,并且打开输入退出后将此txt文件后缀改为.bat,双击运行。Name_list就是自己命名的存储所有文件名的txt文件名,*.* 前面的*和后面的*分别是和,用*就代表任意。
2023-04-25 10:19:11 22286 1
原创 二元交叉熵(Binaty Cross Entropy)BCE Loss
y_i是标签1或0,p(y_i)可以理解为对应真实标签y_i的预测标签值。预测标签与真实标签越接近,loss越小;
2023-04-20 10:02:43 451 1
原创 Pytorch学习笔记之clamp(),squeeze(),unsqueeze()
举个例子:如果 input 的形状为 (A×1×B),squeeze(input, dim=0)后,返回的tensor不变,因为第0维的大小为A,不是1;squeeze(input, 1)后,返回的tensor将被压缩为 (A×B)。举个例子:如果 input 的形状为 (A×1×B×C×1×D),那么返回的tensor的形状则为 (A×B×C×D)dim范围在:[0, input.dim() + 1]之间,dim=0时数据为行方向扩,dim=1时为列方向扩。的作用,参数dim表示在哪个地方加一个维度。
2023-04-19 20:03:27 259 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人