- 博客(19)
- 收藏
- 关注
转载 BPR:面向隐偏好数据的贝叶斯个性化排序学习模型
转自博客:https://blog.youkuaiyun.com/qq_20599123/article/details/51315697 BPR面向隐偏好数据的贝叶斯个性化排序学习模型 摘要 引言 相关研究 个性化排序 形式化定义 问题分析 BPR贝叶斯个性化排序 BPR最优化准则 AUC最优化类比 BPR学习算法 基于BPR的学习模型...
2018-07-30 09:45:52
1448
1
转载 推荐系统论文阅读——Factorizing Personalized Markov Chains for Next-Basket Recommendation
转自博客:https://blog.youkuaiyun.com/stalbo/article/details/78555477论文题目:Factorizing Personalized Markov Chains for Next-Basket RecommendationFactorizing Personalized Markov Chains for Next-Basket Recommend...
2018-07-30 09:40:14
1776
转载 递归之跳台阶问题
题目1:一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。求总共有多少总跳法,并分析算法的时间复杂度。分析:这道题最近经常出现,包括MicroStrategy等比较重视算法的公司都曾先后选用过个这道题作为面试题或者笔试题。首先我们考虑最简单的情况。如果只有1级台阶,那显然只有一种跳法。如果有2级台阶,那就有两种跳的方法了:一种是分两次跳,每次跳1级;另外一种就是一次跳2级。现在我们...
2018-07-30 08:56:06
1083
1
转载 最大似然估计MLE、最大后验估计MAP、贝叶斯估计
本文主要介绍三类参数估计方法-最大似然估计MLE、最大后验概率估计MAP及贝叶斯估计。1、最大似然估计MLE首先回顾一下贝叶斯公式 这个公式也称为逆概率公式,可以将后验概率转化为基于似然函数和先验概率的计算表达式,即 最大似然估计就是要用似然函数取到最大值时的参数值作为估计值,似然函数可以写做 由于有连乘运算,通常对似然函数取对数计算简...
2018-07-29 00:12:24
1118
1
转载 先验概率、后验概率;概率与似然;最大似然估计
1.先验概率 与 后验概率先验概率与后验概率是和贝叶斯概率更新有关的两个概念。假如某一不确定事件发生的主观概率,因为某个新情况的出现而发生了改变,那么改变前的那个概率就被叫做先验概率,改变后的概率就叫后验概率。形如P(B|A) 是B的后验概率,也称为似然概率;P(B)是B的先验概率。 想象有 A、B、C 三个不透明的碗倒扣在桌面上,已知其中有(且仅有)一个瓷碗下面盖住一个鸡蛋。此时请问,鸡蛋...
2018-07-28 22:44:27
1515
原创 句子反转——牛客刷题(java)
题目描述:给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello”解题思路:假设这条句子有n个单词:句子反转实质,将第1个元素与最后1个元素交换,第2个元素与倒数第2个元素交换····················第n/2-1个元素与倒数...
2018-07-22 21:48:57
279
原创 数串——牛客刷题
题目描述:设有n个正整数,将他们连接成一排,组成一个最大的多位整数。如:n=3时,3个整数13,312,343,连成的最大整数为34331213。如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。题目分析:首先,我们将输入的数字转成字符串存入数组,方便下一步对字符串进行拼接比较大小。其次,我们通过冒泡排序(或者其他排序)将数组中的元素从大到小排序。任意...
2018-07-22 12:07:00
273
原创 链表分割——牛客剑指offer
题目描述:编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前给定一个链表的头指针 ListNode pHead,请返回重新排列后的链表的头指针。注意:分割以后保持原来的数据顺序不变。题目分析:将链表分割为两部分,以x值为分割线(x不一定存在于链表中):前部分链表结点的值是小于x的,而且这一部分各结点的顺序与在原链表中的相对顺序相同。后部分链表结...
2018-07-20 20:15:52
227
原创 合并两个排序链表——牛客offer
题目描述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。解题思路:1、一般看到合并这类的题目就会很自然的想到创建一个新的链表,然后将两个链表根据一定的规则加入到新链表中。所以这里提出第一个比较容易理解的思路:首先,创建一个新链表。然后,同时遍历两个链表的元素并比较大小,将小的元素首先插入到新链表中,并将小元素的遍历指针后移,大元素的遍历...
2018-07-20 18:18:51
192
原创 复杂链表的复制——牛客offer
题目描述:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)数据结构:public class RandomListNode { int label; ...
2018-07-20 01:13:44
225
原创 两个链表的第一个公共结点——牛客offer
题目描述:输入两个链表,找出它们的第一个公共结点。题目分析:只是数据域相同不是公共节点。公共结点代表该节点在两个链表中的数据域和指针域都是相同的,这意味着从该公共节点开始,后面的结点都是两个链表共有的,如图:解题思路:思路1:从正序比较的角度来考虑:观察上图,链表1长度大于链表2,那么公共结点绝不可能存在于链表1比链表2多出来的那些结点中。基于这种想法,我们可以先求出两...
2018-07-19 20:18:22
313
1
原创 输出单项链表中倒数第k个结点——牛客刷题
题目描述:输入一个单向链表,输出该链表中倒数第k个结点输入、输出描述:输入说明:1、链表结点个数 2、链表结点的值3、输入k的值输出说明:第k个结点指针题目分析:假设链表长度为n,倒数第k个结点=正序第n-k+1个结点,所以题目的实质可以看作是链表的遍历。首先输入链表结点个数n与各个结点取值构建链表并返回链表的头指针;其次,输入k,调用链表遍历函数,找到第n-k+1...
2018-07-19 18:03:50
421
3
原创 链表的回文结构——牛客刷题
题目描述:对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。给定一个链表的头指针A,请返回一个bool值,代表其是否为回文结构。保证链表长度小于等于900。题目分析:首先了解一下回文序列:如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列,比如{1,2,3,3,2,1} {1,2,1}等。这个题目我是直接根据提示...
2018-07-19 16:49:59
340
原创 链表中环的入口结点——牛客剑指offer
题目描述:给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。题目分析:从上图中可以看出,环的入口结点和其他结点的区别:环的入口结点是有两个指针指向的,其他结点除了头结点都是只有一个指针指向的,使用断链法,在当前结点访问完毕后,断掉指向当前结点的指针。因此,最后一个被访问的结点一定是入口结点。代码实现:/*public class List...
2018-07-19 14:39:14
213
原创 删除链表中重复的结点——牛客剑指offer
题目描述:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5解题思路:首先初始化一个起始指针preNode指向头结点、工作指针walkNode指向链表的第一个元素,即preNode.next=walkNode。迭代...
2018-07-19 13:26:31
202
转载 Java重要类之LinkedList
一、ArrayList与LinkedList基本概念:List是一个接口,Arraylist和LinkedList是它的两个实现类,只是实现的方式不一样。我在“单链表java实现”一文中已经对单链表的结构和基本方法进行了实现,这里要说的LinkedList是java封装好的双向链表数据结构,而ArrayList是用数组实现的,它不是真正的链表,在初始化的时候它先对数组设置一个初始容量,当数组空...
2018-07-19 13:23:50
257
原创 数据结构之单链表的实现-java
一、单链表基本概念单链表是一种链式存取的数据结构,用一组地址任意的存储单元(一般是非连续存储单元)存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素data + 指针next(指示后继元素存储位置)。其存储结构如图:二、JAVA实现单链表数据结构:单链表有一个属性head和一些重要的方法,head为链表结点Node类的实例。Node类中包含成员变量:da...
2018-07-19 13:15:46
231
原创 从尾到头打印列表——牛客剑指offer
题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。解题思路思路1:顺序遍历链表,取出每个结点的数据,插入list中。由于要求list倒序存储链表中的数据,而我们是顺序取数据,所以采用了‘头插’的方式,每次将顺序取出的数据存在list表头,即add(0,data)。思路2:顺序遍历链表,取出每个结点的数据,压入栈中;遍历结束后,将元素顺序出栈并添加...
2018-07-19 13:07:28
207
原创 二维数组中的查找——牛客剑指offer
题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。输入参数:target(查找值) array(二维数组)解题思路:1、python代码python实现比较简单,使用for in循环取出数组的每行i,然后使用in操作符判断tar...
2018-07-19 13:04:08
211
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人