滑动窗口中位数 题目: https://leetcode-cn.com/problems/sliding-window-median/ 思路: 很明显的滑动窗口,首先定义一个求中位数的匿名函数,然后一点一点求出来 代码: class Solution: def medianSlidingWindow(self, nums: List[int], k: int) -> List[float]: median = lambda a: (a[(len(a)-1)//2] + a[len(a)//2]) / 2
Seq2Seq中的Attention 缺陷 在seq2seq这篇文章中详细介绍了seq2seq模型的细节,但是仅仅用一个语义编码c是完全不能够表
PMI 点互信息 对于两个单词之间的PMI来说,可以这样计算: \[ PMI(w,c) = \log \frac{p(w,c)}{p(w)p(c)} = \log \frac{N(w,c) |w,c|}{N(w)N(c)} \] ## MI 在概率论和信息论中,两个随机变量的互信息(Mutual Info
至少有k个重复字符的最长字串 题目: https://leetcode-cn.com/problems/longest-substring-with-at-least-k-repeating-characters/ 思路: 利用递归,如果s中字符c的数目小于k,则以c作分割,分成的字串再次调用函数形成递归,然后从众多结果
最长递增子序列 题目: https://leetcode-cn.com/problems/longest-increasing-subsequence/ 思路: 动态规划 定义dp[i]为到nums[i]的最长递增子序列的长度,全部都初始化为1,因为本身就是长度为1的递增子序
外观数列 https://leetcode-cn.com/problems/count-and-say/ 这题有意思 可以打表,不过打表的过程也相当于做出来了 class Solution: def countAndSay(self,n: int) -> str: if n == 1: return '1' s = self.countAndSay(n - 1) n,res = 0,'' for ii,ss in enumerate(s): if ss != s[n]: res += str(ii-n) + s[n] n = ii res += str(len(s)
调用为np.lib.stride_tricks.as_strided() 可以分割一个数组为不同的shape块,有个问题就是什么是stride
NER(命名实体识别) 参考:https://www.jianshu.com/p/16e1f6a7aaef 命名实体识别(Named Entity Recog
阶乘函数后K个零(首个困难题) 题目: https://leetcode-cn.com/problems/preimage-size-of-factorial-zeroes-function/ 思路: 首先先写个判断阶乘后有多少个零的函数,思路就是找所有相乘的数中因数有5的个数。 然后再用二分查找,
打家劫舍 打家劫舍I 题目: https://leetcode-cn.com/problems/house-robber/ 思路: 一个简单题,不过踩了特例的坑。。可以暴力解决 也可以动态规划 代码: 暴力解决 class Solution: def rob(nums): if nums == []: return 0 if len(nums) == 1: return nums[0] if len(nums)