自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SparkSnail

https://github.com/SparkSnail

  • 博客(27)
  • 资源 (6)
  • 收藏
  • 关注

原创 剑指offer 30 最小的k个数

题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。思路用partition求出第k小的数,这个数的左边就是最小的k个数。 本来是这样的。 可是,运行没通过!!!!!!!!!!!! 超时?? 先记录下来吧。代码# -*- coding:utf-8 -*-class Solution: def GetLea

2017-09-19 20:56:32 319

原创 剑指offer 32 整数中1出现的次数

题目描述求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。思路遍历从1到n的数,数出1的总个数。(暴力解法,╮(╯▽╰)╭懒懒懒。。。)代码# -*- coding:ut

2017-09-19 20:53:30 348

原创 剑指offer 31 连续子数组的最大和

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

2017-09-19 20:24:55 266

原创 剑指offer 29 数组中出现次数超过一半的数字

题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。思路如果某个数符合条件,它一定是中位数。因此,找出中位数。如果一个数num,左边比它小,右边比它大,它的下标是index。如果index < middle,那么中位数在它右边,反之

2017-09-19 17:19:11 279

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

题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。思路用递归,把字符串分为两部分,第一部分为1个字符串,第二部分为剩下的字符串,把第一部分和第二部分依次对换,对第二部分重复。# -*- co

2017-09-19 16:13:28 300

原创 剑指offer 27 二叉搜索树与双向链表

题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。思路递归,每次把每一个节点的左右子树连接成双向链表,然后返回左端点和右端点。# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x#

2017-09-19 15:23:06 284

原创 剑指offer 26 复杂链表的复制

题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 思路: 用一个辅助字典,存储原链表和复制链表的对应关系。第二次遍历的时候,生成random节点。# -*- coding:utf-8 -*-# class Random

2017-09-19 14:42:05 299

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

题目描述 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 思路: 用递归,从根节点开始遍历,当遍历到叶子节点的时候,判断路径和是否和给定的相同。 # -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):#

2017-09-19 13:57:26 312

原创 剑指offer 24 二叉搜索树的后序遍历序列

题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 思路: 二叉搜索树的左子树小于根节点,右子树大于根节点。递归判断是否符合条件即可。# -*- coding:utf-8 -*-class Solution: # write code here def VerifySquence

2017-09-18 18:18:07 320

原创 剑指offer 23 从上往下打印二叉树

题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 思路: 二叉树的层次遍历,用队列存储即可。# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = N

2017-09-18 17:09:40 340

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

题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的) 思路: 用一个辅助栈记录操作顺序,依次进行压入和弹出操作。 当最后栈不为空时,返回F

2017-09-18 17:08:13 346

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

题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 思路: 维护一个最小栈,保存当前栈下最小的元素。# -*- coding:utf-8 -*-class Solution: def __init__(self): self.stack = [] self.minstack = [] self.topind

2017-09-18 16:44:50 337

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

题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 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. 思路: 每个循环打印一圈。循环从左上角(x,y)开始,循环的右下角是(row-x-1,col-y-1)。# -*- codi

2017-09-18 16:33:28 351

原创 剑指offer 19 二叉树的镜像

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

2017-09-18 15:09:16 390

原创 剑指offer 18 树的子结构

题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 思路: 用递归,遍历A树的每一个节点,然后对于每一个节点,再判断是否和A相匹配。# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self

2017-09-18 14:43:02 382

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

题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路: 遍历两个链表,同时比较大小,把小的节点加入新的链表。# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = N

2017-09-18 10:56:05 389

原创 剑指offer 16 反转链表

题目描述 输入一个链表,反转链表后,输出链表的所有元素。 思路: 从头到尾遍历,把每个结点反向指过来。# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: # 返回Lis

2017-09-18 10:39:01 349

原创 剑指offer 15 链表中倒数第k个结点

题目描述 输入一个链表,输出该链表中倒数第k个结点。 思路: 用两个指针遍历,相隔k个长度。当一个指针走到头时,另一个指针所指位置就是返回位置。# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass S

2017-09-15 17:48:50 146

原创 朴素贝叶斯

贝叶斯定理朴素贝叶斯分类设样本为x,类别为y 有条件独立性假设: 根据贝叶斯定理,得到类别y的后验概率为: 把条件独立假设带入得到: 贝叶斯分类器可以表示为: 因为在分母中,所有的值是相同的,因此贝叶斯分类器最终表示为: 拉普拉斯平滑为了防止概率出现0的情况,加入平滑。 参考: 《统计学习方法》李航

2017-09-15 09:29:56 231

原创 SVM

线性可分支持向量机支持向量机的基本型 即: 问题可以转化成: 求解方法–最大间隔法: 求解过程使用拉格朗日乘子法,利用拉格朗日对偶性,通过求解对偶问题,得到原始问题的最优解。 构造拉格朗日函数: 原始问题: 对偶问题: 第一步: 首先求解 对w和b求偏导,得: 把求导结果带入L(w,b,α),得: 即: 这样,原式就变成了求解α,使得

2017-09-14 16:18:32 283

原创 softmax回归

softmax函数总共有k个类别,一个样本属于类别i的概率为:对数似然函数类似逻辑回归,构建softmax的对数似然函数: 损失函数 对损失函数求导: 求解梯度上升 softmax和多个逻辑回归的区别对于选择softmax分类器还是个logistic分类器,取决于所有类别之间是否互斥。 所有类别之间明显互斥用softmax分类器,所有类别之间不互斥有交叉的情况下最好用个logistic分类

2017-09-13 15:36:44 556

原创 逻辑回归

sigmoid函数sigmoid函数: 函数图像: 函数的导数: (求导过程很简单,略)逻辑回归模型目标函数:把sigmoid套在线性回归的模型上,得到: 损失函数:假设有n个观测样本,观测值分别为设为给定条件下得到yi=1的概率。在同样条件下得到yi=0的条件概率为。于是,得到一个观测值的概率为: 使用最大似然估计,可以估计出使得概率最大的θ参数。 对上式求对数: 所以逻辑回归的

2017-09-12 17:17:37 330

原创 线性回归

1.常用矩阵公式 2.线性回归模型形式: 最小二乘法求解 令上式为0,解得: 梯度下降法求解目标函数: 损失函数: 梯度下降对损失函数求导: θ的迭代公式为: 批量梯度下降: 随机梯度下降: 随机梯度下降在计算下降最快的方向时时随机选一个数据进行计算,而不是扫描全部训练数据集。3.模型优缺点优点: 实现简单,计算简单 缺点: 不能拟合非线性数据

2017-09-12 15:22:37 293

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

题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。思路:简单的版本,定义两个额外的数组,一个存储奇数,另一个存储偶数,最后合并。# -*- coding:utf-8 -*-class Solution: def reOrderArray(s

2017-09-11 20:01:25 218

原创 textrank 关键词提取-python实现

用python写了一个简单版本的textrank,实现提取关键词的功能。import numpy as npimport jiebaimport jieba.posseg as psegclass TextRank(object): def __init__(self, sentence, window, alpha, iternum): self.s

2017-09-05 20:43:12 15996 17

原创 tensorflow进行MNIST手写数字识别-LSTM

调用LSTM进行MNIST手写数字识别。import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_datafrom tensorflow.contrib import rnnmnist = input_data.read_data_sets('MNIST_data', one_hot=Tr

2017-09-04 17:16:32 984

原创 tensorflow进行MNIST手写数字识别-CNN

使用两个卷积层,两个全连接层。import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_data_sets('MNIST_data', one_hot=True)batch_size = 100 #每个批次大小n_batch = m

2017-09-01 19:43:52 514

Hadoop技术内幕:深入解析HADOOP COMMON和HDFS架构设计与实现原理 目录完整版

网上其余的资源都没有目录或者目录不全,也不太清晰。这个版本是高清版本,而且有完整目录,放心下载。

2016-10-12

Hadoop技术内幕:深入解析HADOOP COMMON和HDFS架构设计与实现原理

《Hadoop技术内幕:深入解析HADOOP COMMON和HDFS架构设计与实现原理》,珍贵资源。

2016-10-12

Android客户端与服务器端的json数据交互 最全

Android客户端与服务器端的json数据交互(包括服务器代码 客户端代码和建表语句 代码最全

2015-03-13

老罗Android视频http协议开发包

老罗Android视频中http协议那一章视频用到的开发包,亲测可用。

2015-01-26

JDK API 1.6中文版CHM格式

JDK API1.6中文版,chm格式,无需安装,直接点击打开,亲测可用。

2015-01-26

空空如也

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

TA关注的人

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