自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (6)
  • 收藏
  • 关注

原创 剑指Offrer_两个链表的第一个公共节点

1.题目输入两个链表,找出它们的第一个公共结点。2.思路采用2个栈,有公共节点的2个链表呈现Y型,两个链表分别入栈,再分别出栈,最后一个相等的节点,也就是正向的第一个公共节点。3.代码/*public class ListNode { int val; ListNode next = null; ListNode(int val) { ...

2020-03-19 23:32:36 177

原创 剑指Offer_从上到下打印二叉树

1.题目从上往下打印出二叉树的每个节点,同层节点从左至右打印(实质为层次遍历)。2.思路用ArrayList来模拟队列从上到下,从左到右,,先入先出,画出一个二叉树即可大致模拟出该过程。3.代码import java.util.ArrayList;/**public class TreeNode { int val = 0; TreeNode left =...

2020-03-03 00:08:49 146

原创 剑指Offer_栈的压入弹出序列

1.题目输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)2.思路用一个栈来模拟这个入栈出栈的过程,如果最后全部出栈,则后者是其弹出序列...

2020-03-03 00:05:45 143

原创 剑指Offer_包含min函数的栈

1.题目定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。注意:保证测试中不会当栈为空的时候,对栈调用pop()或者min()或者top()方法。2.思路datastack直接入栈,而minstack则是,如果为空或者当前node小于栈顶则入站,否则重复入栈栈顶元素。peek() 查看栈顶对象3.代码import j...

2020-03-03 00:03:23 109

原创 剑指Offer_顺时针打印矩阵

1.题目输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下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.2.思路按照顺时针的顺序进行打印,并经常检查是否需要及时退出。3.代码import java.uti...

2020-03-02 23:58:01 94

原创 剑指Offer_二叉树的镜像

1.题目操作给定的二叉树,将其变换为源二叉树的镜像。2.思路要想求得二叉树的镜像,从根节点开始,将二叉树的左右节点对换即可。3.代码/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int ...

2020-03-02 23:53:17 104

原创 剑指Offer_树的子结构

1.题目输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)2.思路使用递归,从根节点开始,如果当前节点的值相等,则继续比较AB两个树的左右子树,如果当前值不相等,则继续判断A树该节点的左节点或右节点是不是和B树重合3.代码public class Solution { public boolean HasSubtree(Tree...

2020-02-23 23:37:58 72

原创 剑指Offer_合并两个排序的链表

1.题目输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。2.思路非递归。新建一个链表,比较2个链表,小的作为链表的当前节点,当有一个链表为空时,将另一个链表直接接在新建的链表后面。递归。将2个链表的表头作为返回的表头,后面2个剩余的节点继续比较接在当前节点的后面。3.代码非递归/*public class ListNode...

2020-02-22 21:49:42 96

原创 剑指Offer_反转链表

1.题目输入一个链表,反转链表后,输出新链表的表头。2.思路栈。先入栈,第一个出栈的节点记录下来,然后依次出栈,期间调整指针。反转指针。预先记录next节点,然后反转head和pre之间的指针,让head指向pre,然后再将pre和head右移,最后将pre返回,此时pre在最后,head为pre后面一个节点,为null。3.代码栈/*public class Li...

2020-02-22 21:38:40 109

原创 剑指Offer_链表中倒数第K个节点

1.题目输入一个链表,输出该链表中的倒数第K个节点。2.思路借助栈的后进先出的特性,将链表的节点先入栈,然后在出栈K次,就可以输出倒数第K个节点。3.代码/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = va...

2020-02-22 20:45:23 72

原创 剑指Offer_调整数组顺序使奇数位于偶数前面

1.题目输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。2.思路从前到后遍历数组,如果是奇数,则从该奇数的位置从后向前遍历,如果遇到偶数就交换位置,这样全部交换完成之后,就会发现奇数全部在偶数前面,且奇数和偶数的相对位置不变。3.代码public class...

2020-02-20 18:49:23 87

原创 剑指Offer_数值的整数次方

1.题目给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。2.思路对于幂运算,直接采用循环实现,对于exponent,要考虑它的正负。3.代码public class Solution { public double Power(double base, int exponent) { if(...

2020-02-20 18:30:22 97

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

1.题目输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。2.思路一个数与本身减1做与运算,将会把二进制表示中最右边的1置为0,在最后全部置为0之前,可以做多少次与运算,则表示其二进制表示中有多少个1。3.代码public class Solution { public int NumberOf1(int n) { int count=...

2020-02-20 18:18:56 84

原创 剑指Offer_矩形覆盖

1.题目我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?比如n=3时,2*3的矩形块有3种覆盖方法 2.思路递归。矩形的最右边,可以有2种方式:(1)一个竖着的2*1矩形...

2020-02-18 20:08:58 95

原创 剑指Offer_变态跳台阶

1.题目一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。2.思路递归。青蛙的最后一跳可以是n、n-1...1, 那么 f(n)=1+f(n-1)+...+f(1), f(n-1)=1+f(n-2)+...+f(1),两式相减,f(n)=2f(n-1),f(1)=1,f(2)=2。循环。可以有2种理解,(1)对上面的递归采...

2020-02-18 19:59:58 98

原创 剑指Offer_跳台阶

1.题目一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。2.思路递归。青蛙跳n级台阶,最后一跳,可能是1级也可能是2级;f(1)=1,f(2)=2,f(n)=f(n-1)+f(n-2);但时间复杂度较高。循环。对前面的递归,采用循环实现,类似斐波那契数列的思路。3.代码递归public class ...

2020-02-18 19:39:25 147

原创 剑指Offer_斐波那契数列

1.题目斐波那契数列: 1,1,2,3,5...,从第三项开始,第三项等于前两项之和,大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。2.思路递归。f(1)=1, f(2)=1,f(3)=f(1)+f(2), f(4)=f(2)+f(3), 这种方法虽然简单,但由于有重复计算,时间复杂度较高。循环。要第几项,我们就用循环算到第几...

2020-02-18 19:31:15 164

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

1.题目输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。2.思路旋转数组为单调递增数组(更严谨点应为非递减)的一个变换,想找到最小值,可以前后比较元素,当元素突然变小时,则变小的这个元素就是该数组的最小值。3.代码import java.util.ArrayList;publi...

2020-02-17 20:59:01 113

原创 剑指Offer_用2个栈实现队列

1.题目用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。2.思路栈的特性为先入后出,队列的特性为先入先出。可以用一个栈入栈来实现队列的Push操作,然后将该栈的元素出栈并入栈到另一个栈,然后第二个栈的出栈来实现队列的Pop操作。3.代码import java.util.Stack;public class Solution { ...

2020-02-17 20:38:42 133

原创 剑指Offer_重建二叉树

1.题目输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。2.思路前序遍历,前序遍历的第一个数是整颗树的根节点,随后连续的几个数是该二叉树的左子树上的节点,然后最后连续的几个数是该二叉树的右子树上的节点。中序遍历,中序遍历的左子树的节点全部在根节点的左侧,右子树的节点全部在根节点的右侧,中序遍历的顺序和实际的二叉树上的节点相对位置一致。使用递归,最外层,3.代码...

2020-02-17 20:03:13 86

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

1.题目输入一个链表,按链表从尾到头的顺序返回一个ArrayList。2.思路(1) 递归。在递归的外层声明一个ArrayList变量,采用递归则会从链表的尾部开始添加元素到ArrayList变量中,然后从最内层依次return ArrayList。(2)栈。利用栈先入后出的特性,链表尾部后入栈而先出,则可以从尾到头添加到ArrayList中。3.代码递归/*** ...

2020-02-14 12:40:14 74

原创 剑指Offer_替换空格

1.题目把字符串中的空格,替换为“%20”。2.思路声明一个StringBuffer变量,StringBuffer变量是可以修改的,利用StringBuffer的charAt()方法对字符进行检测,如果是空格则替换为“%20”,如果非空格,则直接附加在StringBuffer变量末尾。3.代码public class Solution { public String ...

2020-02-14 11:57:05 101

原创 剑指Offer_二维数组的查找

1.题目一个二维数组,从左上角开始,向右递增,向下递增,判断该数组中是否含有该整数2.思路可以从左下角开始搜索,如果目标整数大于当前值,向右移动,如果目标整数小于当前值,向上移动,如果目标整数等于当前值,返回true3.代码public class Solution { public boolean Find(int target, int [][] array) {...

2020-02-13 21:04:42 114

原创 SVM学习总结

1.SVM概述      支持向量机(support vector machines,SVM)是一种二类分类模型。它的基本模型是定义在特征空间上的间隔最大的线性分类器。支持向量机还包括核技巧,这使它成为实质上的非线性分类器。支持向量机的学习策略是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。支持向量机的学习算法是求解凸二次规划的最优化算法。

2017-10-09 14:39:03 954

原创 随机森林学习总结

1.决策树决策树:从根节点开始一步步走到叶子节点(决策),所有的数据最终都会落在叶子节点,既可以做分类也可以做回归。根据决策树的输出结果,决策树可以分为分类树和回归树,分类树输出的结果为离散值(具体的类别),而回归树输出的结果为连续值(一个确定的数值)。决策树的构建算法主要有三种ID3,C4.5,CART三种,其中ID3和C4.5是分类树,CART是分类回归树,ID3是决策树最基本的构建算法,

2017-10-07 13:07:13 2241

原创 Ubuntu14.04下Anconda3方式快速安装Tensorflow1.2

所需文件:   anaconda3(linux 64位   python3.5 下载链接:https://repo.continuum.io/archive/Anaconda3-4.2.0-Linux-x86_64.sh)    TensorFlow1.2(下载链接:http://download.csdn.net/detail/jerryfy007/9923583)1. 安装步骤

2017-08-07 15:15:26 1431

原创 暑期找实习算法实习生笔试

1.编写算法将单链表反转,时间复杂度为O(n),空间复杂度为O(1)(原链表上操作,不创建新的链表)。带头节点的单链表: printf("hello");

2017-07-04 15:06:17 401

原创 朴素贝叶斯学习总结

关于贝叶斯和朴素贝叶斯的区别产生了疑问,所以在网上搜索了几篇博客,阅读理解之后这里做下总结。1.要用到的基本数学知识:   (1) 贝叶斯公式:             实际上,这个公式是由联合概率公式推导而出:      (2)全概率公式:       (3)条件独立:    可解释为:当A发生时,A1发生与否与A2发生与否是无关的。2.朴素贝叶斯

2017-06-19 22:08:49 1494

原创 使用Windows版CRF++时import CRFPP出错解决过程

使用Windows版CRF++的python接口时,import CRFPP出错,提示没有这个模块。       原因:模块缺失,这个模块需要我们自己编译出来。       解决方法:       (1)Anaconda或者是python需要是32的程序(32位的程序可以在32位/64位的机器上运行,而64的程序只能在64位的机器上运行),具体原因未知。       (2)pyth

2017-06-17 19:24:56 4850 8

原创 不平衡语料的分类

当对商品评论的文本进行情感分析时,一般假设参与分类的正类样本和负类样本一样多,而假设和实际情况并不相符,在实际收集的产品评论语料中,我们发现正类样本和负类样本差距很大,即类别之间的语料数目相差很大。       类别之间的语料数目不平衡是制约很多分类算法准确率的一个因素。很多分类器分类的时候都会倾向于将语料分为大类,因此造成分类的准确率降低。然而很多时候哪些少数类才是值得我们关注的。例如,网络

2017-06-07 21:40:12 1852

原创 逻辑回归学习总结

学习完吴恩达的机器学习视频,看过机器学习实战及学习了网上的一些博客之后,在这里对我学习到的逻辑回归知识做一个学习总结。1.线性回归和simoid函数逻辑回归是一种分类算法,它可以解决二分类问题,它的实质是线性回归+逻辑函数,传统的线性回归是为了找到能更好地拟合真正的函数曲线的最佳参数,线性回归如下:如果用线性回归做分类的话,由于最终的结果可能会远大于或远小于分类结果1和0,所以我们

2017-05-10 16:06:53 1423

原创 网上书城推荐系统中遇到的问题及解决

问题1:虚拟机上的ubuntu无法ping通主机win10解决1:(1)虚拟上工具栏编辑-->虚拟网络编辑器,我打算使用VMnet8,它一般支持NAT方式,NAT设置:DHCP设置:(2)右键16.04Ubuntu 64位,设置,网络适配器,勾选NAT模式。NAT模式的最终结果是Ubuntu与Win10在同一网段中,但是Ubuntu可以访问网络,回到Win1

2017-03-19 10:46:36 1892

原创 Beginning

开通博客第一天,之后好好学习,天天向上,有好的东西就在这里总结记录下来。

2016-10-13 16:32:44 275

postman离线安装包 亲测可用哦

postman离线安装包 亲测可用哦

2023-05-05

tensorflow-1.2.1-cp35-cp35m-linux_x86_64.whl

安装完anaconda3并配置好环境变量后,直接pip install tensorflow-1.2.1-cp35-cp35m-linux_x86_64.whl即可。

2017-08-07

CRFPP编译需要的pthread.lib等文件

32位的python和64位的机器,编译Windows的CRF++的python接口CRFPP用到的文件,解决了import CRFPP出错问题。

2017-06-17

CRF++-0.58 Windows/Linux/MacOS

后缀为.tar.gz的适合Linux和MacOS用户使用,后缀为.zip的适合Windows用户使用。

2017-06-14

Bengio深度学习北大翻译版

深度学习大神Bengio著作,北大翻译版本。

2017-05-12

机器学习实战源代码

《机器学习实战》的python源代码,结合代码更深入理解算法思想。

2017-05-12

Word2Vec java版实现

Word2Vec的java版实现,可用于NLP领域的研究与学习。

2017-05-12

空空如也

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

TA关注的人

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