自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(96)
  • 收藏
  • 关注

原创 Deep Neural Network for YouTube Recommendation论文阅读

Deep Neural Networks for YouTube recommendations 论文阅读背景推荐youtube视频的挑战:Scale:现有的推荐算法能够在小数据集上表现良好,但难以应对youtube的规模。Freshness:youtube每秒都有新的视频上传,推荐系统需要在新老视频之间进行平衡。另一方面用户行为更新很快,系统应能够及时追踪。Noise:由于数据的稀疏性和各种不可观测的外部因素,用户满意度的显示数据难以直接获取,大部分都是隐式反馈信号。并且数据本身是非结构化的,

2021-09-05 19:46:32 192

原创 GloVe 与 fasttext

对于一个词 i 出现的次数为 XiX_iXi​,在其某个窗口范围内的词 j 出现的次数为 XijX_{ij}Xij​,XijX_{ij}Xij​ 可以直接得到,XiX_iXi​ 为所有 XijX_{ij}Xij​ 的累加和。对于 i 来说,共现矩阵要对所有 i 出现的地方计算 XijX_{ij}Xij​,最后再累加求和得到 XiX_iXi​。共现矩阵局算的是概率值 Pij=P(j∣i)=XijXi...

2019-11-30 20:50:56 347

原创 leetcode: 102. Binary Tree Level Order Traversal

题目分词:很明显是层次遍历,与图里的 BFS 很像,只是不用设置 visited 标志变量。只是稍微有点难度的是要分别输出每一层的变量,我最初的想法使用队列存储所有节点,是对每一层的节点都计数,只是这样子代码写起来稍微有点麻烦,后来才知道可以在while 循环中再加一层 for 循环解决,while 循环判断队列是否为空,该层 for 循环输出该层的所有节点。代码如下:基于计数:vect...

2019-11-02 16:21:45 180

原创 leetcode: 235. Lowest Common Ancestor of a Binary Search Tree

题目:Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BST.According to the definition of LCA on Wikipedia: “The lowest common ancestor is defined betw...

2019-10-25 15:21:45 141

原创 leetcode: 98. Validate Binary Search Tree

题目:Given a binary tree, determine if it is a valid binary search tree (BST).Assume a BST is defined as follows:The left subtree of a node contains only nodes with keys less than the node's key.T...

2019-10-22 19:50:40 114

原创 使用 tf-idf 提取关键词

tf-idf 的简要介绍:tf:term frequency。某个关键词在整篇文档中出现的频率idf:inverse document frequency。逆文档频率。某个词在所有文档中出现的频率。tf 公式:tfij=nij∑knkjtf_{ij} = \frac{n_{ij}}{\sum_k n_{kj}}tfij​=∑k​nkj​nij​​含义:tf 等于关键词 i 在文档 j 中...

2019-10-22 19:38:43 1987 1

原创 leetcode:15. 3Sum

题目:Given an array nums of n integers, are there elements a, b, c in nums such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.Note:The solution set must not ...

2019-10-16 16:25:08 81

原创 leetcode: 242. Valid Anagram

题目:Given two strings s and t , write a function to determine if t is an anagram of s.Example 1:Input: s = "anagram", t = "nagaram"Output: trueExample 2:Input: s = "rat", t = "car"Output: fal...

2019-10-13 15:54:50 84

原创 leetcode: 20. Valid Parentheses

题目:Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.An input string is valid if:Open brackets must be closed by the same type ...

2019-09-24 16:54:47 70

原创 leetcode:844. Backspace String Compare

题目:Given two strings S and T, return if they are equal when both are typed into empty text editors. # means a backspace character.Example 1:Input: S = "ab#c", T = "ad#c"Output: trueExplanation:...

2019-09-19 19:58:49 134

原创 leetcode:25. Reverse Nodes in k-Group

题目:Given a linked list, reverse the nodes of a linked list k at a time and return its modified list.k is a positive integer and is less than or equal to the length of the linked list. If the number...

2019-09-15 17:49:07 70

原创 剑指 offer:把字符串转换成整数、数组中重复的数字

把字符串转换成整数题目描述将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。分析这题比较简单,主要就是分析开头是不是符号然后例外情况,其他的没什么。就是记录一下。代码如下:int StrToInt(string str) {...

2019-08-13 16:39:08 152

原创 剑指offer:把数组排成最小的数和整数中 1 出现的个数

题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。分析这题肯定要使用排序,但是要怎么使用排序我想了好久都没有想明白,后来看了答案,才发现原来还可以这样。积累经验,代码倒是很简单,注意一下 sort 的用法就行了。static bool cmp(int a, ...

2019-08-12 15:52:28 73

原创 一些简单的聚类算法

算法流程如下:随机选取 k 个 中心点:c1,c2, ……ck;对每一个样本,计算与每个中心点之间的距离,取最小的作为它的归类;重新计算每个类的中心点如果每个中心点变化很小,则算法收敛,退出;否则迭代1-3...

2019-08-07 19:56:28 1116

原创 bert 原理及源码分析(一)

全称:Bidirectional Encoder Representations from Transformers,即双向 transformer的encoder 表示。Embeddingembedding 由 3 种 embedding 求和而成:Token Embeddings:词向量Segment Embeddings:句向量Position Embeddings:位置向量P...

2019-07-28 20:59:36 3006

原创 一个简单编译器的解析:write-a-C-interpreter

编译原理实验前言本文分析代码来自 github:https://github.com/lotabout/write-a-C-interpreter/blob/master/xc.c。并非亲自实现。这个一个小型的C语言编译器,或者称为解释器,是 c 语言的极度简化版。不过包含了词法分析、语法分析以及代码生成等功能。该代码在进行语法分析的同时进行词法分析。本文大部分参照原作者内容,不过增加了自己的...

2019-07-21 22:47:40 1520

原创 牛客网 连续最大和

牛客网 连续最大和题目描述 一个数组有 N 个元素,求连续子数组的最大和。 例如:[-1,2,1],和最大的连续子数组为[2,1],其和为 3 输入描述: 输入为两行。 第一行一个整数n(1 <= n <= 100000),表示一共有n个元素 第二行为n个数,即每个元素,每个整数都在32位int范围内。以空格分隔。 输出描述: 所有连续子数组中和最大的值。分析:使用动...

2019-06-08 16:38:39 381

原创 剑指 offer:扑克牌顺子、孩子们的游戏、不用加减乘除做加法

扑克牌顺子题目描述LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张_)…他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子…LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,K为13...

2019-06-02 21:32:43 116

原创 crf

概率图模型用图来表示变量间相关关系。分为两类:贝叶斯网络(使用有向无环图表示变量间的依赖关系),马尔可夫网络(使用无向图表示变量间的相关关系)隐马尔可夫模型英文名称:Hidden Markov Model(HMM)是结构最简单的贝叶斯网络。该模型中有两种变量:状态变量和观测变量。状态变量 {y1,y2,...,yn}\{y_1, y_2, ... ,y_n\}{y1​,y2​,......

2019-05-22 20:28:24 212

原创 剑指 offer:两个链表的第一个公共节点、数字在排序数组中的个数、二叉树的深度

题目描述输入两个链表,找出它们的第一个公共结点。分析首先要明白公共节点的含义:即两个链表从某个节点开始重合,重合的第一个节点即为第一个公共节点。那么最直接的想法就是从后往前推,找到第一个不相同的节点,它的 next 即为我们想要的公共节点。这种方法要用栈。可以从前往后吗?其实也是可以的,先求出两个链表的长度 len1,len2,然后对较长的那个链表,先遍历 | len2-len1 | 次...

2019-04-22 15:40:38 88

原创 剑指 offer:从上往下打印二叉树、第一个只出现一次的字符

题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。分析此题直接反应就是用队列,没什么好说的,注意下空数组的返回就行了。vector<int> PrintFromTopToBottom(TreeNode* root) { queue<TreeNode *> Q; vector<int> out; if (root == NULL) {...

2019-04-10 14:58:30 80

原创 剑指 offer:字符串的排列

题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。分析这道题包括了重复字符的情况,会稍微复杂一点。先考虑无重复字符的情况。如果会回溯算法的话,那么这道题会很简单。或者说深度...

2019-04-09 21:20:40 71

原创 连续子数组的最大和

题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列...

2019-04-03 23:49:07 82

原创 剑指offer:数组中出现次数超过一半的数字和最小的 k个数

数组中出现次数超过一半的数字数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。分析遍历数组,使用 map 计数,超过一半即返回。有个问题:时间复杂度应该怎么算。int MoreThanHalfNum_Solution(vector&...

2019-04-02 15:26:52 92

原创 剑指 offer:二叉树中和为某一值的路径

题目描述输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)分析树经常是和递归联系在一起的,所以,这题也要用到递归算法。问题就在于如何保存元素。我最开始的想法是用栈来保存路径节点,但在最后将栈存到 vector 中的时候出现了问题:要将栈中所...

2019-03-23 19:58:34 64

原创 GBDT

全称:Gradient Boosting Decision Tree,梯度提升决策树顾名思义,基学习器使用决策树,且只能是回归树,而不能是分类树 。因为回归树输出的是连续值,可以累加,而分类树计算的值无法累加,即累加没有意义。算法流程:对每一轮 m,当前决策树模型为 fm(x)f_m(x)fm​(x) 。每一轮都对应着一个损失函数:L(y,fm(x))=L(y,fm(x)+Gm−1(x))L(...

2019-03-18 21:00:15 112

原创 剑指 offer:栈的压入、弹出序列

题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)前言现在我越来越觉得变成的时候思想很重要,不是编完了就完事了,而应该清楚自己是怎么想...

2019-03-18 20:05:29 109

原创 字符串匹配,kmp算法

前几天面试的时候,被问了一个字符串匹配的问题,没写出来,痛定思痛,决定好好地恶补一番。问题:两个字符串 A 和 B,A 的长度大于 B 的长度,问:A 中是否含有 B,若有,有几个。暴力匹配太 low 了,我不想写,kmp 又写不出来,所以当时就直接放弃了。都快被自己菜哭了。言归正传,先求 next 数组。next 数组是用来干嘛的?为了方便,next 数组的下标设置从 1 开始。nex...

2019-03-17 16:42:08 99

原创 剑指 offer:包含 min函数的栈

题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。分析:要找最小值,且时间 O(1), 那么必然要在 push 和 pop 上做文章,否则就得遍历栈了,时间为 O(n)。第一想法是每次在 push 的时候比较当前值与最小值,用一个变量存储,但这样在 pop 时,若 pop的值为最小值,那么新的最小值无法在第一时间找到。然后想到得用数组...

2019-03-12 20:48:54 76

原创 剑指 offer:顺时针打印矩阵

题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.分析这题没有想到什么好方法,只能按照题目意思循环打印了。那么关键就是要准确把握四个角点的的位置,我设置了 4 个变量...

2019-03-10 18:43:42 65

原创 二叉树的镜像

题目描述操作给定的二叉树,将其变换为源二叉树的镜像。分析:这题的代码很简单,关键是能不能想到思路。递归对左右子树进行对换即可。代码如下:void Mirror(TreeNode *pRoot) { TreeNode * tmp; if (pRoot == NULL) { return; } tmp = pRoot-&amp;gt;left; pRoot-&amp;gt;left = pRoo...

2019-03-09 22:14:39 66

原创 剑指 offer:二进制中 1 的个数

题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。分析:首先回顾一下补码:对于正数,补码与源码相同,对于负数,符号位取 1,剩下的 31 位(这里默认 int 型整数为 32 位)补码=源码取反+1。已知最高位为符号位,那么剩余 31 位决定正数与负数的大小。正数的最大值+1得到负数的最小值,补码的加减法带上符号位。对于负数的补码,其二进制 = 2^32 + n(n &...

2019-03-06 17:27:33 62

原创 剑指 offer:矩形覆盖

题目描述我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?分析:设 f(n) 为 2*n 的矩形的覆盖方法总数。从第一步开始考虑,有两种放法:若竖放,则剩余的矩形为 2*(n-1),放法有 f(n-1) 种;若横放,则其下面也只能横放,剩余的矩形为 2*(n-2),放法有 f(n-2) 种;将所有可能的情况...

2019-03-05 21:31:51 81

原创 剑指 offer:变态跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。分析:设 f(n) 为 n 阶台阶可能的跳法总数若第一次跳一级,剩下 n - 1 个台阶,跳法有 f(n-1) 种;若跳二级,则剩下 n - 2 个台阶,跳法有 f(n-2) 种;。。。。最后:f(n) = f(n-1) +f(n-2) + … + 1代码如下:...

2019-03-04 22:05:03 92

原创 剑指 offer:旋转数组的最小数字

题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。分析:此题看似简单,实则坑略大。虽然说了是旋转数组,但也有可能是不旋转的情况,我就是没有考虑到这一点,怎么做都不...

2019-03-03 23:10:58 70

原创 smo 算法

smo 算法全称:序列最小最优化算法(sequential minimal optimization)已知 SVM 的目标函数为:minα12∑i=1N∑j=1NαiαjyiyjK(xi,xj)−∑i=1Nαis.t.∑i=1Nαiyi=00≤αi≤C,i=1,2,...,Nmin_{\alpha} \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\al...

2019-03-02 17:22:08 361

原创 剑指 offer:用两个栈实现队列

题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。分析:第一个栈用来实现对列的 push 功能,第二个栈实现对列的 pop 功能。只是在 pop 时需要判断 栈 2 是否为空。代码如下:class Solution{public: void push(int node) { stack1.push(node); } int pop(...

2019-02-27 16:38:49 115

原创 剑指 Offer:重建二叉树

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。分析:前序遍历的第一个字符就是根,在中序数组中找到该根的位置 pos, 则可将中序数组分为两个子数组,分别对应左子树和右子树,同时由于在前序和中序数组中...

2019-02-26 16:10:09 102

原创 Attention 机制

为什么要引入注意力机制?在原本的 encoder-decoder 模型中,无论输入的文本序列有多长,都会讲信息压缩成一个固定维度的向量 c 。维度固定,存储的信息量也就固定了,那么对于长文本序列,会丢失很多信息,这是我们不想看到的。注意力机制的引入就是为了解决这个问题。注意力机制加了注意力机制以后,向量 c 的维度依然是固定的,但是在每个时间步, c 的值都会改变,或者说从原来的的...

2019-02-25 22:10:05 176

原创 剑指 Offer:从尾到头打印链表

题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。分析:该题比较简单。直接遍历链表,加入 vector 中,然后使用 reverse 函数即可。后来发现有更简单的做法,即使用 insert(),不过懒得改了。代码如下:class Solution {public: vector&lt;int&gt; printListFromTailToHead(ListNo...

2019-02-25 15:27:46 93

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除