自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (6)
  • 问答 (4)
  • 收藏
  • 关注

原创 算法题(三十九):动态规划解决网易2017年笔试题——“合唱团”

题目描述有 n 个学生站成一排,每个学生有一个能力值,牛牛想从这 n 个学生中按照顺序选取 k 名学生,要求相邻两个学生的位置编号的差不超过 d,使得这 k 个学生的能力值的乘积最大,你能返回最大的乘积吗?输入描述:每个输入包含 1 个测试用例。每个测试数据的第一行包含一个整数 n (1 <= n <= 50),表示学生的个数,接下来的一行,包含 n 个整数,按顺序表示...

2018-11-30 19:39:13 399

原创 EM算法的应用:基于在高斯混合模型与三硬币模型中的对比中的理解

参考:《统计学习方法》——李航;参考:高斯混合模型(GMM)及其EM算法的理解1.EM的算法的介绍参考博文机器学习:《统计学习方法》笔记(三)—— EM算法2.三硬币模型问题:有三枚硬币(ABC)正面向上的概率分别为,p和q。进行如下试验——先掷A,如果A正面向上则掷B,如果A反面向上则掷C。如此独立地重复做n次试验;记录B和C的结果,正面向上记为1,反面向上记为0。观测结果为...

2018-11-30 16:55:11 325

原创 机器学习:《统计学习方法》笔记(三)—— EM算法

参考:《统计学习方法》——李航;摘要介绍了EM算法的推导过程、步骤及在三硬币模型中的应用等内容。正文1. 什么地方要用EM算法EM算法主要用于含有隐含变量的模型参数估计问题。如果概率模型的变量都是观测变量,那么给定数据,可以直接用极大似然估计或极大后验估计。当概率模型含有隐含变量时,就需要用EM算法来估计参数了。EM算法就是含有隐含变量的概率模型参数的极大似然估计或极大后验估计...

2018-11-28 15:34:34 1118

原创 堆排序(Java)

1. 堆排序的思想堆具有父结点值大于子结点的特性,所以大顶堆的根结点是堆中值最大的,将根结点与最后一个结点的位置交换后,堆特性被打破;在排除最后一个位置后,再进行堆的更新,使其重新满足堆特性,之后再将新的根结点与倒数第二个位置的数据交换,如此重复直到只剩下根结点一个结点时停止。图像来源2. 代码import java.util.Arrays;public class He...

2018-11-26 20:12:34 250

原创 与二叉树相关的算法笔试题集

1. 二叉搜索树(BST)的后序遍历序列2. 序列化/反序列化二叉树3. 找到BST中的第k小的数4. 二叉搜索树转双链表5. 找出所有节点和满足目标数的路径6.根据二叉树的前序遍历和中序遍历数组来重建二叉树7. 判断二叉树是否是平衡二叉树8. 二叉树的深度9. 二叉树的镜像10. 二叉树的下一个结点11. 对称的二叉树12. 按之字形顺序打印二叉树...

2018-11-23 11:20:29 274

原创 算法题(三十八):判断树的子结构

题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)分析从A树根结点开始遍历,如果结点与B树结点相等,则递归判断左子结点和右子结点的情况;若不等,则往下遍历A树左右结点各自与B树的情况。已AC代码public class ChildTree { public static boolean HasSubtree(TreeNo...

2018-11-23 11:19:20 460

原创 算法题(三十七):按之字形顺序打印二叉树

题目描述请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。分析用两个栈来实现,先把根结点放入s1,当行数为偶数时,s2从左到右放结点;当行数为奇数时,s1从右到左放结点;笔者用java写的程序不能100%AC,但c++却可以,有大神可以指出来哪里有问题吗?代码一import ja...

2018-11-23 10:55:46 116

原创 算法题(三十六):对称的二叉树

题目描述请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。分析从上而下递归扫描,只要发现左右结点不相同的返回false。代码public class Symmetry { public static void main(String[] args) { // TODO Auto-generated metho...

2018-11-22 16:59:08 163

原创 算法题(三十五):二叉树的下一个结点

题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。分析分情况讨论:1.如果结点有右孩子,则返回右子树中最后一个左孩子;2.如果结点没有右孩子,且该结点是父结点的左孩子,则返回父结点;3.如果结点没有右孩子,且该结点是父结点的右孩子,则向上遍历父结点,返回第一个当前节点是父节点左孩子的...

2018-11-22 16:45:25 138

原创 算法题(三十四):二叉树的镜像

题目描述操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5...

2018-11-22 15:31:27 162

原创 算法题(三十三):二叉树的深度

题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。分析与算法题(三十二):判断二叉树是否是平衡二叉树相似。可以用递归的方法,从下向上遍历各个结点(后序遍历),返回左子树和右子树中深度最大的那个值。代码public class TreeDepth { public static void main...

2018-11-21 20:13:59 236

原创 算法题(三十二):判断二叉树是否是平衡二叉树

7. 判断是否是BST题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。分析可以用递归的方法,从下向上遍历各个结点(后序遍历),如果结点是满足BST的条件则返回该结点的高度,如果不满足则直接停止遍历并返回false。代码public class IsBlanceTree { public static void main(String[] args) { ...

2018-11-21 20:12:10 1511

原创 关于条件随机场的一些补充

原文:机器学习:《统计学习方法》笔记(二)—— 条件随机场(CRF)参考:概率无向图模型1. 概率无向图的因子分解注:有一点笔者仍然不明白,《统计学习方法》是定义P(Y)的乘积是在最大团上进行,而有材料说明乘积是在极大团上进行。无向图中的极大团的结点个数可以是不同的,只要满足“不能再加进任何一个结点”的条件,就是极大团。因子分解是图中所有极大团的势函数的乘积规范化后的结果。计算...

2018-11-18 12:03:49 2641

原创 算法题(三十一):二叉搜索树(BST)的后序遍历序列

题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。分析后序遍历序列中,最右边数字也就是根结点,会把数集分为左右两部分,左边数集都小于root,右边数集都大于root。左边数集和右边数集与原数集一样,所以可以用递归来做。代码public class BSTOrder { pu...

2018-11-15 20:46:43 226

原创 机器学习:《统计学习方法》笔记(二)—— 条件随机场(CRF)

参考:《统计学习方法》——李航;摘要介绍条件随机场的基本概念、概率计算、学习方法、预测方法等内容。正文1.基本概念1.1 什么是条件随机场条件随机场的定义为:X和Y都是随机变量,是给定X条件下Y的条件概率分布。若Y可以构成一个由无向图表示的马尔可夫随机场,即对任意成立,则称为条件随机场。其中指在无向图中除之外的所有点,指与相连的所有点。1.2 什么是概率...

2018-11-15 16:29:14 1079

原创 算法题(三十):约瑟夫环问题

问题描述约瑟夫问题是一个非常著名的趣题,即由n个人坐成一圈,按顺时针由1开始给他们编号。然后由第一个人开始报数,数到m的人出局。现在需要求的是最后一个出局的人的编号。给定两个int n和m,代表游戏的人数。请返回最后一个出局的人的编号。保证n和m小于等于1000。测试样例输入:5 3返回:4分析有两种方法可解这道题,一种是直接模拟该过程,找到最后一个数;另一种是利用数学归...

2018-11-14 20:31:57 1099

原创 算法题(二十九)扑克牌顺子

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

2018-11-13 17:10:39 589

原创 算法题(二十八):和为S的两个数

题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。分析在数组的头部(H)和尾部(T)开始向内遍历,若H+T小于S,则H肯定不是答案之一,因为不可能有数比T大了;若H+T大于S,则T肯定不是答案之一,因为不可能有数比H小了。而当第一次找到H和T时,这时的H*T也是最小的。牛客网上解释为:考虑x+y=...

2018-11-13 15:54:24 325

原创 算法题(二十七):和为S的连续正数序列

题目描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列?分析有两种方法可解此题1.双指针法规定一个窗口,窗...

2018-11-09 19:44:05 146

原创 2018年10月华为签约经历

背景:笔者是华为18年的暑期实习生转正,武长区的。正文:从9月份接到offer审批的短信后一直没有消息,到10月10日接到电话问是否会接受邀请签约时,中间有一批实习生接到了offer意向书的短息和邮件,笔者没有收到意向书。10月15日正式签约,约的是10点半在光谷某酒店签约,笔者9点之前就到了。遇到了一起打比赛的伙伴也来签约,就坐在一起了。第一个伙伴和签约官谈了差不多有半个小时,但是任然没...

2018-11-07 15:50:04 3356 3

原创 机器学习:《统计学习方法》笔记(一)—— 隐马尔可夫模型

参考:《统计学习方法》——李航;隐马尔可夫模型——码农场摘要介绍隐马尔可夫模型的基本概念、概率计算、学习方法、预测方法等内容。正文1. 基本概念隐马尔可夫模型是关于时序的模型,描述一个隐藏的马尔可夫链随机生成不可观测的状态序列,再由各个状态序列生成一个可观测的观测序列的过程。模型由初始概率分布()、状态转移概率分布()、观测概率分布()决定,即模型可以表示为。状态转移矩阵:...

2018-11-07 15:46:10 509

原创 算法题(二十六):利用堆排序解决找出最小的k个值问题

题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。分析问题很简单,升序排序后直接输出前k个,不过要考虑时间复杂度的问题。可以用堆排序,构建有k个值的大顶堆,然后用堆头部与其他值比较,堆头部值较大则调换值,并调整,最后k个值为最小的几个。时间复杂度为nlogk。代码import java.util....

2018-11-05 20:20:29 1927 1

原创 算法题(二十五):序列化/反序列化二叉树

题目描述请实现两个函数,分别用来序列化和反序列化二叉树分析结点为空时用“#”代替,反序列化时,遇到“#”输出null代码public class SerializeTree { public static void main(String[] args) { // TODO Auto-generated method stub TreeNode root = ne...

2018-11-02 19:54:02 192

原创 算法题(二十四):找到BST中的第k小的数

题目描述给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8)    中,按结点数值大小顺序第三小结点的值为4。分析常见方法是用中序遍历算法来做,中序遍历时,输出顺序正好是由小到大。代码import java.util.Stack;public class KthNode { public static int index = 0;...

2018-11-02 19:14:53 571

原创 算法题(二十三):利用堆解决流数据的中位数问题

题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。分析利用一个大顶堆和小顶堆来解决问题。当输入数据的总量为奇数时,数据先放入小顶堆,再从小顶堆拿出堆...

2018-11-01 19:32:20 837

Python数据分析实战

Python数据分析实战,从python语言的角度入门机器学习。很好的入门机器学习所要用的pandas、numpy和sklearn库。

2017-08-22

吴恩达课程讲义(英文版)

从数学的角度入门机器学习

2017-08-22

python文档

python的官方文档

2017-06-28

scikit-learn英文文档

scikit-learn的官方文档

2017-06-28

Python.Machine.Learning

学习python机器学习很好的教材资源

2017-06-28

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

TA关注的人

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