- 博客(29)
- 收藏
- 关注
原创 【VI Transformer】Self-attention中QKV的含义-学习记录
【VI Transformer】Self-attention中QKV的含义-学习记录
2024-03-19 19:25:06 504
原创 vscode 提示import cv2 ModuleNotFoundError: No module named ‘cv2‘解决方法
vscode 提示import cv2 ModuleNotFoundError: No module named ‘cv2‘解决方法
2024-03-14 15:14:12 1935
原创 [Python3]114.二叉树展开为链表-原地操作
将root指向下一个右侧结点后,就可以反复的处理每个子树的左侧结点,使得其按照根左右的顺序排列。(root的左边结点最后处理,因为要把root的右侧结点全部移到root的左侧结点的右子树的最后)核心就是反复的将root的右子树移到左子树的右侧最后一个结点的右侧空节点。(1)把root的右子树 移到 左子树的右子树的右边的空结点上。(2)将root的整个左子树移到右子树。(3)将root的左子树清空。
2024-03-11 21:35:16 368
原创 [Python3]437.路径总和III-双层递归
(1)既然要求不从根节点开始,也不需要在叶子结点结束,那么我们可以用一个双层的递归,内层的递归对每一个分枝进行自顶向下的完整遍历求和,外层递归则从顶部结点开始,一个一个的往下移动。这样做到了从任意结点开始的求和计算。(2)内层的递归每一次targetSum要减去当前结点的数值,如果判断当前值已经等于targetSum了,则存在一条路径。双层递归,自顶向下!
2024-03-10 17:10:18 357
原创 [Python3]112.路径总和-递归
(2)当到达叶子结点的时候,判断结点是否结点的左右都为空,若是叶子结点,则判断此叶子结点的值是否等于targetSum ➖ 之前所有结点的值。(3)最后若左子树存在一条路径或者右子树存在一条路径,都返回True。(1)根,左,右的访问形式。这在111题中也有所体现。
2024-03-05 21:23:42 354
原创 [Python3]110.平衡二叉树-递归(详细推导递归过程)
(5)判断root为空,返回0,此时我们得到了根节点的左节点的左右子树高度都为空,即root->left->left高度为0,root->left->right高度为0。(6)判断abs()不大于1,因此左右子树高度加根节点为根节点的左子树的高度,即0 + 0 + 1 = 1,我们就得到递归后的结果,即根节点的左子树的高度为1.(3)判断root为空,将0返回给judge。接下来同理我们可以知道,根节点的右子树高度也为1,最后判断根节点的左右子树高度都为1。整个递归是一个从底而上的过程!
2024-03-03 22:18:59 364
原创 [Python3]BFS优先队列分枝限界法求解0/1背包问题
1)我们采用二叉树的BFS来搜索最合适的结点,我们定义了BFS函数,将最大价值(max_value)设置为0,实例化一个优先队列(queue.PriorityQueue),这个优先队列实际上是由堆来维持最大值的,实例化根节点,只传入根节点(根节点的level=-1),使用.put()将根节点传入优先队列中。感觉网络上关于优先队列分枝限界法求解0/1背包问题的python代码很少,下面给出一些自己学习过程中的心得体会,(以下代码是从各路大神那里学来的)以及详细代码解释,如有错误请务必留言指正!
2023-10-23 23:49:27 224 1
原创 [Python]递归回溯N皇后问题
2)其中col表示列的索引,因此for循环表示对所有的列查看是否能放置皇后,check(row,col,res)表示判断(row,col)这个位置能否放置下一个皇后,如果confirm为True,则在res数组索引为row处存储该皇后将要放置的列的索引,也就是res[row] = col,并且调用自己,对下一行的所有列进行遍历,最后将res[row] = 0,这里的意思是将该行的列索引置为0,系统栈回溯到上一层,使得col++,来探索更多的col可能性。1.使用了一个全局变量count来记录组数。
2023-10-15 23:34:42 83 1
原创 [Python3]回溯递归法求解n个整数中取出m个元素的排列组合问题
当我们执行第二次backtrack,此时current_permutaion=[1,3],len(..)==m之后将current_permutaion中的元素append到permutaion之后,我们的第一组组合[1,3]就已经排列好了。我们这时候会回到上一层的递归状态,简单来说, 当。紧接着我们将元素3 pop 出去,此时current_permutaion=[1],那么我们这时候按理说应该去寻找元素5,是如何做到的呢?的值不会回到1,而会继续递增到2,然后在下一次递归中,会考虑。
2023-10-15 18:26:02 272 1
原创 [Python3]leetcode.求解一个整数数组划分为两个子数组的问题
【代码】[Python3]leetcode.求解一个整数数组划分为两个子数组的问题。
2023-10-12 15:15:23 121 1
原创 [Python3]leetcode.相同的树(非递归)
(3)每一次pop(0)出列表的前两个值进行比较,pop(0)之后列表为空,判断完边界条件之后按照顺序将弹出的结点元素的左边结点加入列表,再将右边的结点元素加入列表,再次进入while循环,当列表为空的时候退出循环,返回True。(2)考虑好边界条件,条件1:都为空的时候继续循环,条件2:一个为空一个不为空的时候返回false,条件3:节点值不同时返回false。(1使用列表存储结点。
2023-09-21 15:06:56 46
原创 [Python3]leetcode.相同的树(递归)
(1)找好出口条件,左树与右树都为空的时候返回false,一个为空一个不为空的时候返回false.(2)同时递归比较左树与右树是否相等。
2023-09-21 14:34:57 49
原创 [Python3]leetcode94.二叉树中序遍历(栈)
(2)、当(root = root.left)指向结点为空时,栈最上面的结点出栈并加入空列表,root指向出栈元素的右节点。若出栈元素的右节点不为空则执行(1),若为空则重复执行(2)。(1)、在结点不为空或栈不为空的情况下,从最顶部结点到最左结点依次开始入栈直至结点为空。
2023-09-13 18:50:31 49
原创 使用Mac进行深度学习时遇到.DS_Store报错解决办法
在for循环调用list_class之前将'.DS_Store'删除(roses在列表中序号为0,那DS_Store序号为1,用del 将list_class中的第一个位置删除,便可以顺利执行)此时os.listdir(file_path)执行后,list_class中如下所示(使用的flower数据集,通过打点并且debug功能可以找到如下表示的列表)如此时执行将数据集分为训练集和验证集操作,那么只有roses的文件夹可以被成功分为训练集和验证集,for循环执行到'.DS_Store'时将会报错。
2023-07-29 18:56:45 946
原创 Python3 234.回文链表-leetcode[完整测试代码]
4.应该经过while判断之后再pre = slow,如果把pre=slow写在最末尾,那么就成了先移动再判断,根据上面第三点就会发生本应该退出while循环了,pre却指向了slow,若一定要先移动再比较,可以将下面比较值的代码中的pre改成prev,则同样能提交。1.用的快慢指针,slow每次前进一步,就将slow前的结点插入到以pre为头指针的链表的每一个结点之前,也就是反转。3.pre作为反转链表的第一个指针,slow作为原链表的第一个指针进行依次比较。,请你判断该链表是否为回文链表。
2023-07-13 00:28:09 169 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人