摘要: 这是Leetcode第287题,给定一个包含n + 1个整数的数组,其中每一个整数均介于[1, n]之间,证明其中至少有一个重复元素存在。假设只有一个数字出现重复,找出这个重复的数字。 这道题可以用计数排序的思路求解,但更为巧妙的方法是使用 快慢指针 求解。 基本思想是将数组抽象为一条线和一个圆环, 阅读全文
posted @ 2019-10-04 16:11 Jamest 阅读(201) 评论(0) 推荐(0) 编辑
摘要: Word2vec 本质上是一种降维操作——把词语从 one hot encoder 形式的表示降维到 Word2vec 形式的表示,即 Distributed Representation 。也就是,通过Embedding把原先词所在空间映射到一个新的空间中去,使得语义上相似的单词在该空间内距离相近 阅读全文
posted @ 2019-10-04 10:51 Jamest 阅读(811) 评论(0) 推荐(0) 编辑
摘要: 论文:word2vec Parameter Learning Explained 发表时间:2016 发表作者:Xin Rong 论文链接: "论文链接" 为了揭开Word2vec的神秘面纱,不得不重新整理复习了Word2vec的相关资料。 Xin Rong 的这篇英文paper是更多人首推的 Wo 阅读全文
posted @ 2019-10-03 17:17 Jamest 阅读(1288) 评论(0) 推荐(1) 编辑
摘要: KMeans算法是一种无监督学习,它会将相似的对象归到同一类中。 其基本思想是: 1.随机计算k个类中心作为起始点。 2. 将数据点分配到理其最近的类中心。 3.移动类中心。 4.重复2,3直至类中心不再改变或者达到限定迭代次数。 具体的实现如下: 阅读全文
posted @ 2019-10-02 19:21 Jamest 阅读(1782) 评论(0) 推荐(0) 编辑
摘要: 这是Leetcode第220题,给定一个整数数组,问是否存在两个数差距最多为$t$,两数的间隔最大为$k$。 很明显,这里需要用到一个大小为$K$的窗口,每次判断窗口内是否存在每个数差值满足$ bool: n=len(nums) if t==0 and n==len(set(nums)): retu 阅读全文
posted @ 2019-10-02 14:50 Jamest 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 这是Leetcode第215题,求无序数组第K大的数。 求第K大/小的数也是一个经典的问题了,一般来说有两种方法:堆思想和快排思想。其时间复杂度分别达到$O(NlogK)$和$O(N)$。我们先分析这两种算法,然后分析一个优化算法。 堆 一般来说,求第K大数使用最小堆,求K小数使用最大堆。时间复杂度 阅读全文
posted @ 2019-09-30 10:03 Jamest 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 这是Leetcode第145题,求二叉树的后序遍历。后序遍历相对于先序遍历以及中序遍历,非递归求解方式更加复杂。这里,我使用的方法是双压栈法。 具体代码如下: 阅读全文
posted @ 2019-09-28 14:35 Jamest 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 这是Leetcode第96题,给定一个 $n$,求共有多少种不同的 $BST$(二叉搜索树)。 这道题实际上是 卡塔兰数 (Catalan Numbe) 的一个例子,也是很经典的一个问题了。下面,了解一下什么是卡特兰数以及它的性质。 卡特兰数是一种经典的组合数,经常出现在各种计算中,其前几项为 : 阅读全文
posted @ 2019-09-27 16:44 Jamest 阅读(205) 评论(0) 推荐(0) 编辑
摘要: LeetCode上牵扯到Rotated Sorted Array问题一共有四题,主要是求旋转数组的固定值或者最小值,都是考察二分查找的相关知识。在做二分查找有关的题目时,需要特别注重边界条件和跳出条件。在做题的过程中,不妨多设几个测试案例,自己判断一下。 下面是这四题的具体解答。 33.Search 阅读全文
posted @ 2019-09-25 11:19 Jamest 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 这是Leetcode第28题,实现strStr()函数,即在haystack中找出needle第一次出现的位置,如果不存在,那么就返回 1。 又是一个经典的算法:KMP算法,这是和之前的Manacher算法并列的两大经典算法。 KMP算法本质是通过next 数组实现当模式串中的某个字符跟文本串中的某 阅读全文
posted @ 2019-09-24 21:38 Jamest 阅读(136) 评论(0) 推荐(0) 编辑