09 2020 档案
摘要:BN: 1.在神经网络中,防止梯度爆炸梯度消失,使用了batch normalization 2. 该方法是对一个batch的vectors的每一维度,比如100个输入向量的第1维,进行方差,均值的计算,然后 x = x-均值/方差 的操作 LN: 1. 在Tranformer中,对每一次的mult
阅读全文
摘要:1. 首先我们的目标函数是 最大似然估计,需要计算的是P(Y|X),即为给定vector x 的情况下,输出vector为Y的概率 1) 根据下图公式,我们可以看出,例如输入为 'we',输出为汉字的情况下,我们需要穷举计算所有汉字计算分母,是不可能的 2)所以将其优化为RNN的概率连乘 2. 最简
阅读全文
摘要:DP的思路: 1. 通常dp第一个难点都是找状态转移方程,对于 s中前i个字符与p中前j个字符: 1)p[j] == s[i] && dp[i-1][j-1] => dp[i][j] = True 2) p[j] == '?' && dp[i-1][j-1] => dp[i][j] = True 3
阅读全文
摘要:https://www.cnblogs.com/JustNo/p/12186632.html d-separation 也太难了 - - 例子看不懂 三种阻塞的情况里: 前两种是Z观测,则X,Y关于Z条件独立,否则不独立 第三种是Z不观测,条件独立,否则不独立
阅读全文
摘要:https://www.bilibili.com/video/BV1si4y1G7Jb?t=1740 Xgboost思路: 1. 迭代的将残差y-f(x) (y-hat) 作为下一模型的label 2. 最后的预测结果为所有分类器的加和 目标函数的构建: 1.
阅读全文
摘要:思路: 1. 就是一个数学问题,需要明确绳子每段长度为3时取得最大乘积。 2. 此外,有几种特殊情况: 1) 绳子必须要分段,所以在 n = 2 -> 1,1 n=3 -> 2,1 2) 余数是1的时候, 2*2>3*1 所以要分为2*2
阅读全文
摘要:思路: 1. 矩阵搜索,没有规定起始位置与终止位置的时间复杂度是 O(row*col*3^k)因为要遍历每一个位置作为起始节点,由于不能访问visited,所以每一步都只有3个选择,然后最差情况走完k-1步发现不匹配 2. visited细节 1)visited 用set,而不新建一个borad或在
阅读全文
摘要:本题与154题相同,重做一遍还是有细节问题 思路: 1. 本题需要找最小数字,在本升序数组中,需想通最小数字就是旋转点 2. 接着就是二分法 1) left,right = 0 , len(nums)-1 2) mid = left + (right-left)//2 这种写法是防止 (right+
阅读全文
摘要:DP: 1. 这题的解题思路来源于暴力法,对于每一点,其积累的雨水等于 min(left_max,right_max) - height[i] 2. 而对于自身就是left_max或right_max时,显然相减等于0 2. 双指针 1. 使用本方法最重要的一点是想通,从左右两端找left_max,
阅读全文
摘要:https://www.bilibili.com/video/BV1kE411G7qo?p=13 1. I 将index转化为词向量 G 更新向量中的信息 O ouput向量 R 将向量转化为 词/句子 Memory Network 流程: 1. 我们有一些facts 向量John... Bob..
阅读全文
摘要:前序,中序列表构建二叉树思路: 1. 返回的是一颗二叉树,所以每一次递归都需要构建一个TreeNode 2. 构建TreeNode需要value, 前序遍历可以提供当前构建TreeNode的Val 3. preOrder[0]将中序分成左右两子树,所以递归终止条件就是 if not inorder:
阅读全文
摘要:思路: 1. 逆序链表原来可以简单的用递归实现 2. 跳出条件是递归到链表尾部了,if not head: return [] 因为deliverable是list,所以返回空list 3. 递归路径: return self.reversePrint(head.next) + [head.val]
阅读全文
摘要:原地修改S: 1. 这里要注意的是,每次修改完s后,s的长度要+=2,并且i的指针最好+=3,节省时间
阅读全文
摘要:思路: 1. 如果从 (0,0)来看待矩阵,发现是 row col方向都递增,无法利用到该条件 2. 但是如果从 (-1,0)来看,则是 row方向小,col方向大,就可以比较和target的大小,比其小,则col+=1,比其大,则row+=1
阅读全文
摘要:https://leetcode-cn.com/problems/shu-zu-zhong-de-ni-xu-dui-lcof/ 利用归并排序来查找逆序对,思路: 1. divide部分,先递归将数组分成最小单元的数组,递归出口 start>=end 为什么要加等号,因为每次递归是 递归 start
阅读全文
摘要:解题思路: 1. 本题难点是把题目转化成DP,能理解状态转移方程
阅读全文
摘要:递归细节: 1. 二叉平衡树,我们需要返回True,False,肯定是用左右子树的深度Depth来判断,怎么在递归中传递深度,且传递布尔值呢 2. 这里做了一个很巧妙的转换,可以用深度来表示True与False,因为深度是非负数,可以用负数表示False,所以我们在递归中就可以只传递深度 3. 递归
阅读全文
摘要:N皇后递归细节: 1. 递归的是层数,每一层的递归分支是列数,所以以后有两个变量的递归,或者二维数组的递归,可以固定一个维度,另一个维度作为递归分支 2. 递归出口 row ==n ,就是每一步都成功了,才会row+=1 这个要理解,不然递归出口很难想 3. 剪枝,那一列,对角线,已经有queen占
阅读全文
摘要:https://blog.csdn.net/qq_42780289/article/details/89244761 https://blog.konghy.cn/2017/02/25/python-nested-namespace/
阅读全文
摘要:https://github.com/JonathanRaiman/glove/issues/1 pip3 install https://github.com/JonathanRaiman/glove/archive/master.zip --user
阅读全文
摘要:回溯算法细品 1. 对于回溯携带的变量,以前二叉树中是curNode,curList一起带着回溯的; 而在List中,有Row与Col这里是按Row回溯的,最后的交付物queens则保存在外层
阅读全文
摘要:本题的交付条件不是List(路径节点),也不是num路径总和,而是一个布尔值 解题思路: 1. 由于交付布尔值,且递归路径明显两条,所以 return helper(left,sum) or helper(right,sum) 2. 递归边界: 1)没有子节点时,判断和是否相等 2) if not
阅读全文
摘要:预处理 1. 去停用词,低频词 2. Normalization:将不同时态的英文单词映射到同一个英文单词上 stemming / Lemazater stemming : 可能将 flies -> fli 生成无效单词 Lemmazater: 保证生成有效单词 使用 knowledge base
阅读全文
摘要:本题思路: 1. 本题是给每一层二叉树简历单链表,具体方法是根据已有的本层单链表建立下层单链表。 2. 需要保存的变量有两个 1) 第一个是root,最后需要return root,所以使用指针 leftmost = root 代替每层间往下的遍历 2) 第二个是leftmost,由于单链表只能从左
阅读全文
摘要:本题思路: 1. 本题要对树的每一层构建单链表,所以可以用层序遍历 2. 利用已有的本层单链表,连接下一层,为此需要保持两个节点 1) 第一个是 root,最后要返回他,所以每层往下的迭代时,要用指针 leftmost,leftmost = leftmost.left 2) 第二个是leftmost
阅读全文
摘要:https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list/solution/er-cha-shu-zhan-kai-wei-lian-biao-by-leetcode-solu/ 官方题解方法三讲的很清楚 本题思路: 1.
阅读全文
摘要:1. Language Model: 预测一个句子或短语出现的概率 句子出现概率 -> 单词的联合概率 -> 条件很长的条件概率 通过马尔可夫假设缩短条件 - > 某单词出现概率只与该单词前n个单词出现概率有关 -> Uni-gram Bi-gram Tri-Gram model PPT T8 用来
阅读全文
摘要:收获: 1. 本题是比较两个列表, 两个列表长度未知,我原本是想分为两步来比较,第一个部分比较 Min(len1,len2)的数组,再比较长数组剩余部分与0的大小 2. 可官方题解提供了直接比较的思路,对元素1,元素2赋值,有则有,无则0: for i in range(max(n1,n2)): i
阅读全文
摘要:1. 找到链表中点 2. 分割链表为前后两段,并 pre.next = None 3. 后段链表逆转 4. 合并链表 5. 奇数个链表时,后段(3个)比前段(2个)多一个,需要取最后一个点
阅读全文
摘要:总体思路: 遍历链表,找出每一个逆序的(preNode.val>node.val)的node,并再从头遍历,插入第一个比它大的Node的前面,这很像下一个排列中的题目。 1 2 3 5 6 4 任务就素找出4,将其插入5之前 操作思路: 1. 变量声明,dummy_head; dummy与sec作为
阅读全文
摘要:1. 回溯算法超时 时间复杂度 n! 爆炸 - -
阅读全文
摘要:回溯算法: 1. 本题的deliverable是所有路径的组合,也没有任何剪枝 2. 开始先判空,if not root: return 0 3. 回溯路径 root.left,root.right ; 每次往下层递归,则加上本层的root.val 4. 更新常数的时候要用全局变量
阅读全文
摘要:回溯细节: 1. 以往的deliverable都是一些数字的组合,str的组合,这题是子树的组合,单个元素都是TreeNode 2. 注意第一步都是判空,if n==0: return[] 3. 递归边界/出口: if left > right: return [None,] ; 如果某节点已经是
阅读全文
摘要:递归细节: 1. 本题deliverable是一个高度相差不超过1的二叉搜索树的Head 2. 递归出口: head == tail (不太懂): return None 3. 递归路径:(head,mid ) (mid.next,tail) 不太懂 本题细节: 1. 由于高度差不超过1,所以每一层
阅读全文
摘要:回溯算法细节: 1. 回溯边界: node.left == None and node.right == None 2. 回溯路径:如果有左节点就往左边调用helper,如果有右边就往右边调用Helper 3. deliverable: 包含节点value的list 4. 递归更新: 路径的list
阅读全文
摘要:回溯算法细节: 1. deliverable 是 255.111.35.1这种IP地址,所以要记录4个数字,返回 ‘.’.join(list) 2. 递归边界是 len(list) ==4 and not remainS 3. 递归路径有三条,一个数字,两个数字,三个数字 4. 剪枝有两种: 1)两
阅读全文
摘要:本题思路: 例子 m = 2, n =5 1 2 3 4 5 6 -》 1 5 4 3 2 6 1. 反转index m,n将链表分成三部分,samll {1},反转{2,3,4,5},large{6} 2. 创建空的dummys,small&samll_head , reverse&reverse
阅读全文
摘要:本题分割链表比 82. 删除重复链表简单 链表: 1. 链表的dummy很多都是两个变量(dummy, dummy_head)指向同一个空节点,一个不动用于返回,一个作为指针不断移动保存Nodes 1) return dummy_head.next 2) dummy.next = node ; du
阅读全文
摘要:细节分析: 1. 按照惯例,设置一个空的头节点,用于返回,接着用一个指针保存结果 res = res_head = ListNode(None) ; return res_head 2. 再设置一个空的头节点指针,用于遍历链表 point = ListNode(None) ; point.next
阅读全文
摘要:本题注意: 1. 33.旋转数组中,二分搜索都是将 nums[left] < nums[mid] 与 nums[left] == nums[mid] 两种合并,这里分开了 二分查找: 1. 判断左边升序还是右边升序时, 应该比较 nums[left] ? nums[mid],而不是 nums[0]
阅读全文
摘要:重点: 1. 本题是组合 Cnk ; 而排列是 Ank 时间复杂度 差了一个 k! 2. 这点差异体现在递归时,递归路径的选择,只选取比当前i大的数 curNums[:i] + curNums[i+1:] -> curNums[:i] 回溯算法: 1. 递归出口 : Length == k 2. 递
阅读全文
摘要:本题是普通二分法 + 定位重点坐标 1. left ,right = 0, m*n-1 注意右边坐标需要-1 2. while left <=right: 注意要取等号,以防target在left=right时候取到 3. left = mid +1 ; right = mid -1 由于已经判断过
阅读全文
摘要:本题与31.下一个排列一样都是数学题,难点是实现 思路: 1. n个整数的全排列有n!种 2. 对于第k个全排列,除以下一位的阶乘确定每一位的数字 3. 比如 第一位要除以 (n-1)! 来确定第一位的数字,然后从Nums里面pop出
阅读全文

浙公网安备 33010602011771号