- 博客(16)
- 收藏
- 关注
原创 C++调用Python方法详解(同样适用导入第三方包的python脚本)
解决C++对python脚本调用的问题,通过将python脚本封装为.pyd文件,再通过C++调用
2024-09-29 03:54:57 1939 2
原创 代码随想录算法训练营day16| 104.二叉树的最大深度 559.n叉树的最大深度 111.二叉树的最小深度 222.完全二叉树的节点个数
时间复杂度 O(n) 空间复杂度 O(1)
2024-05-23 03:40:09 332
原创 代码随想录算法训练营day15| 层序遍历 226.翻转二叉树
层序遍历,将每个弹出的元素的next指向队列中的front元素,并将每层最后一个元素指向nil。层序遍历,遇到叶子节点(左右子节点均为空)时即返回当前的depth。时间复杂度O(n) 空间复杂度O(n)时间复杂度O(n) 空间复杂度O(n)时间复杂度O(n) 空间复杂度O(n)时间复杂度O(n) 空间复杂度O(n)同理,将原来的遍历两个节点变成遍历n个节点。层序遍历后获取每层最右边的元素即可。层序遍历后,对每层的元素求和即可。层序遍历,记录最大值即可。
2024-05-23 03:03:58 714
原创 代码随想录算法训练营day13| 239. 滑动窗口最大值 347. 前 K 个高频元素
遍历数组,每个滑动区间计算最大值,当推出的元素不是最大值时无需计算时间复杂度O(n2) 空间复杂度O(n)
2024-05-21 22:15:01 351
原创 代码随想录算法训练营day11| 20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值
使用一个栈读取左括号,当左括号遇到匹配的右括号时弹出,若最后栈为空,则有效;反之无效时间复杂度O(n) 空间复杂度O(n)
2024-05-18 03:56:42 219
原创 代码随想录算法训练营day10| 232.用栈实现队列 225. 用队列实现栈
包含go中模拟队列和单队列模拟栈两个考点,单队列模拟栈的思路是将队列头元素删除后重新入队,直到最后一个元素到达头部,来实现pop操作。包含使用数组模拟栈,使用两个栈模拟队列两个知识点,其中后者分为输入栈和输出栈,动态地处理元素,非常巧妙。
2024-05-18 02:54:27 199
原创 代码随想录算法训练营day09| 28. 实现 strStr() 459.重复的子字符串
直接暴力匹配,类似固定窗口遍历时间复杂度O(n2) 空间复杂度O(1)
2024-05-18 01:42:05 303
原创 代码随想录算法训练营day08| 344.反转字符串 541. 反转字符串II 替换数字 151.翻转字符串里的单词 右旋字符串
时间复杂度O(n) 空间复杂度O(1)
2024-05-15 23:32:51 247
原创 代码随想录算法训练营day07| 454.四数相加II 383.赎金信 15.三数之和 18.四数之和
先算前两数之和,再算后两数之和,再转化为两数之和的做法时间复杂度O(n2) 空间复杂度O(n)
2024-05-14 01:36:26 689 1
原创 代码随想录算法训练营day06| 242.有效的字母异位词 349.两个数组的交集 202.快乐数 1.两数之和
将遍历数组的过程换成哈希寻找,将查找的时间复杂度降到O(1),使用一个数组存放出现过的字符,解决unicode字符输入的问题时间复杂度O(n) 空间复杂度O(n)
2024-05-13 19:53:18 408
原创 代码随想录算法训练营day04| 24.两两交换链表中的节点 19.删除链表的倒数第N个节点 面试题 02.07. 链表相交 142.环形链表II
链表方面主要掌握三个思想:1、虚拟头节点:将头部节点的边界问题统一化,方便编写代码2、栈:单向链表无法逆向访问,那就开个数组存起来3、快慢指针:方便访问上一节点。
2024-05-11 19:16:04 650 2
原创 代码随想录算法训练营day03| 203.移除链表元素 707.设计链表 206.反转链表
总体思路不难,但是卡在了一个细节上:当头节点为目标值时,要变更头节点,使用虚拟头节点方便对头节点进行操作。
2024-05-10 22:17:29 213
原创 代码随想录算法训练营day02| 977. 有序数组的平方、209. 长度最小的子数组 59.螺旋矩阵Ⅱ 54.螺旋矩阵
使用双指针法,思路是先判断是否同号递增,若是则直接处理;若不是则找到变号的两个数的索引作为左右指针,然后左右指针再各自往左右移动,当一个指针到达边界时,处理剩下的递增数据。
2024-05-10 00:41:43 217
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人