08 2020 档案
摘要:回溯算法(超时 72/75): 1. 跳出条件: if position == n : self.res =True / if position > n : return 2. 递归条件: 遍历 position 所有可以跳跃的位置 3. 更新条件,这里不再是更新 resList,是更新res, 需
阅读全文
摘要:回溯算法重点: 1. 跳出条件,nums中元素用完 2. 递归的岔路: 加入元素/不加入元素 helper(curList+[nums[i]], nums[1:]) / helper(curList, nums[1:] ) 3.如果是求排列问题,则不能sort,因为lists中元素一样,只是排列不一
阅读全文
摘要:回溯算法动笔之前需要思考清楚的点: 1. 跳出条件,len(curList) == len(nums) 2. 递归时选择新加入哪些元素 for i in range(len(curNums)): 3. 递归更新条件 helper( curList+[curNums[i]], curNums[:i]+
阅读全文
摘要:本题与第39题唯一差别就是,元素只能用一次,所以递归时候需要加入可用元素列表 candidate helper的重点: 1.跳出条件 sum == target 或 sum > target 2. 递归的选择 candidate 每次都往现有列表中往下延申 candidate个List
阅读全文
摘要:重点: 1. 回溯算法要确定跳出条件,什么时候将List加入Res 2. 一般的条件有,元素用完,sum大于target 等 3. 去重方法: list.sort() if list not in res: res.append(list)
阅读全文
摘要:https://www.bilibili.com/video/BV1kE411G7qo?p=8 1. TOPIC Model 1)探究Rock是 石头 还是 music type SVD(线性变换) 将6维文本压缩到2维; 语义模型 一般都用 LDA模型或Topic model,不用 P-LSA 2
阅读全文
摘要:思路:空间换时间 难点: 1. 用27个列表当作27个行列boxes 2. box的取法 boxNum = (row//3)*3 + col//3
阅读全文
摘要:1. 交换两数 2. 颠倒部分数组 倒序遍历两次,第一次找升序 nums[i] < nums[i+1]; 第二次找大于nums[ i ] 的第一个数 颠倒 nums[i+1:]
阅读全文
摘要:与 螺旋数组 中的三题一样,都是属于改变方向遍历数组.
阅读全文
摘要:https://www.bilibili.com/video/BV1kE411G7qo?p=7&t=64 Lesson 7: Topic Model 小文本可以用 graphic model 1. 图模型 2. 1) NB: 每个xi之间都是相互独立,但是都与给定条件c有关 2)右图中 正方形框代表
阅读全文
摘要:https://www.bilibili.com/video/BV1kE411G7qo?p=6 1. 词性标签 Wind v/n protest v/n 1)人为将词性(及物动词,不及物动词,名词复数,连词,标点)标注好后,进行语料库训练 同词有不同的词性,意义 例如 file : 文件夹;搓子 2
阅读全文
摘要:https://www.zhihu.com/question/44832436/answer/266068967
阅读全文
摘要:https://www.bilibili.com/video/BV1kE411G7qo?p=5 1. Word Representation: one-hot vector : 1)稀疏 2) 每一个词向量之间都是垂直,没法算相似度 2. Semantic Similarity 语义 similar
阅读全文
摘要:1. 马尔可夫 Markov chain / hidden Markov model Markov Property: 现在的状态只与前一时刻有关 2. Tri-Gram Model 1) 上一讲的 Bag-of-Words 属于 Uni-Gram : 代表每一个词之间没有关联关系 2)Bi-Gra
阅读全文
摘要:1. Evolution of Language: 1) 不规则过去式随着使用频率的降低在消亡 2)四字成语,新的语言(吃鸡)等对NLP有巨大挑战 2. Calude Shannon: 1)企业发明 通信原理 3. 熵: 信息量增大的函数 1). H(x) >= 0 一件事件x的信息量是大于等于0的
阅读全文
摘要:https://www.bilibili.com/video/BV1qb41117X3?p=2 例一:返回一个数组里局部最小值: def helper(nums): l,r = 0,len(nums) while l<r: mid = l + (l+r)//2 # 两个子数组 【 l , mid 】
阅读全文
摘要:题目理解: 找出 1 - len(nums) 中缺失的第一个数,所以需要排序; 要求时间O(n)空间O(1) 思路: 1. 遍历一遍,对于数值在 1- len(nums)中的数值,并且那个位置还没有对应元素, if 1 <= nums【i】<= len(nums) and nums[i] != i-
阅读全文
摘要:注意: 1. python中二分法取中点方法: mid = l + ( r - l ) // 2 2. 递归的时候,一定要包括中点 a) 旋转点在左边,则递归 (l,mid) b) 旋转点在右边,则递归(mid+1,r) 3. 递归的过程中,一定要设置返回值 res = helper(l,r) 不能
阅读全文
摘要:Logistic Regression: 1.由线性回归,加上sigmoid得来 2. 线性回归得到的是一个值,Logistic Regression得到的是一个概率 3. sigmoid函数减少了极端值的影响 4. 如果样本不是线性回归可处理的,那么logistic regression效果就比较
阅读全文
摘要:https://www.runoob.com/w3cnote/quick-sort.html 1. 双指针,left, right , while left < right: 一直重复 2. 2. 每次递归,取l s[ left ] 为temp a) 从right往回遍历,找到第一个比temp小的数
阅读全文
摘要:1. 离散化 a) 无序变量离散化—— OneHotEncoder b)有序变量离散化 等宽划分:按照相同宽度将数据分成几等份。缺点是受到异常值的影响比较大。 pandas.cut方法可以进行等宽划分。 等频划分:将数据分成几等份,每等份数据里面的个数是一样的。pandas.qcut方法可以进行等频
阅读全文
摘要:https://www.jianshu.com/p/569efedf6985 L1/L2/特征选择 看它就够了 https://www.cnblogs.com/nolonely/p/6435083.html https://www.zhihu.com/question/26485586 还有就是 L
阅读全文
摘要:sliding window中几个注意点 1. right+=1的地方,有两个位置 a) 一个是放在left内层循环上 b) 一个是放在外层循环最后,这样相当于用的for循环 2. 更新条件,像最长子串这种result,一般是在内层循环结束之后 a) 这是因为判断条件一般都是 res > condi
阅读全文
摘要:3.1跳过 3.2跳过 3.3语言与智能:信息熵 1)Claude Shannon: 更多研究从高校转移到企业 2) information Entropy: 3)熵 a) 熵是一个 信息增量函数 H(x) >=0 b) 发生概率越低的事件,信息量越大; H(x)与P(x)成反比 c) H(x1,x
阅读全文
摘要:思路: 1. 本题是sliding window模板解法,与3.无重复的最长子串一样 2. a) 执行外层循环,右指针++,直到满足条件 b) 满足条件后更新min_len c) 满足条件后启动内层循环,左指针++,直到不满足条件 3. 使用了 defaultdict
阅读全文
摘要:注意: 1. max_len = max( max_len, right-left) 这里是right-left 而不是right-left+1,因为进入第一层循环后right+=1了 2. 做最大值判断的地方,放在二重循环判断完后。 3. 本题解法是sliding window的模板,可背下来 4
阅读全文
摘要:1.3 NLP六个重要术语 Syntax: 词性分类 Morphology: 时态(现在时,过去时,第三人称) Semantics:词意 1.4 语言学的发展史1 罗素悖论: 自己索引自己时,发生的悖论 例: 存在两种书,A种书索引自己,B种书不索引自己 现要写一本大全C汇总A,B,索引自己和不索引
阅读全文
摘要:1. 两数之和,三数之和,四数之和,核心思想都是通过排序与双指针,将内层的两层循环变成一层,从而降低时间复杂度 2. 注意: a) 防止重复解,对循环指针: if k>0 and nums[k-1] == nums[k]: continue 对双指针: while i<j and nums[i-1]
阅读全文
摘要:思路: 1. 第一个指针 k 遍历 a) 给数组先sort排序 2. 其他两个指针 参考167 两数之和,左指针k+1,右指针len(nums)-1 a) 判断条件 while i<j: b) 指针变动后,对 i, j 进行去重 while i<j and nums[i-1] == nums[i]:
阅读全文
摘要:思路: 1.本题的两个指针是放在两端,小了则左指针++,大了右指针-- 2.而209题两个指针都放在开头,并且两层循环, 内层循环 leftPoint +=1 直到左指针不走了,才走外层循环 rightPoint+=1。不断更新全局变量。
阅读全文
摘要:典型双指针一遍遍历 https://leetcode-cn.com/problems/minimum-size-subarray-sum/ 需要注意的是,两个指针怎么移动。 右指针: 当前和<s 就移动 左指针:二重循环,直到将sum>=s -> sum<s,才停止
阅读全文

浙公网安备 33010602011771号