自定义博客皮肤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)
  • 资源 (1)
  • 收藏
  • 关注

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

题目描述:从上往下打印出二叉树的每个节点,同层节点从左至右打印。思路:把第一个节点root保存在q里面,然后然后弹出来给t,用t判断有木有左节点,有的话写进q,接着判断右结点,写进q,每一次的q弹出第一个元素给L直到结束class TreeNode: def __init__(self, x): self.val = x self.left...

2018-07-26 16:35:07 119

原创 剑指offer 树的子结构

题目描述:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)思路:递归class Tree: def __init__(self,x): self.val = x self.left = None self.right = None def is_subtree(self,A,...

2018-07-26 16:26:51 115

原创 剑指offer 二叉树的镜像

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

2018-07-26 01:24:03 159

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

题目描述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。思路:递归方法,直接代码的,没啥好说的额class ListNode: def __init__(self, x): self.val = x self.next = Noneclass Solution: def Merge(s...

2018-07-26 01:09:01 127

原创 剑指offer 反转链表

题目描述:输入一个链表,反转链表后,输出新链表的表头。思路:设置一个tmp保存head.next,然后每次把head.next往前移了之后就把head.next指向前面的class ListNode: def __init__(self,x): self.val = x self.next = Noneclass Solution:...

2018-07-26 00:51:33 156

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

题目描述:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。思路:需要先判断 等于0和等于1等特殊情况的值,另外需要加入flag变量确定exponent是否为负数,负数的话结果需要取倒数class Solution: def Power(self,base,exponent): flag = 0...

2018-07-24 15:03:32 127

转载 剑指offer 矩形覆盖

题目描述:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?思路:当n=1时,记作F(1), 共有1种方法;当n=2时,记作F(2), 共有两种方法;当n=3时,记作F(3), 分为两种情况:第一次用一个矩形竖着覆盖(左图蓝色),则剩下共有F(n-1)种方法,即F(2) 种方法;第一次用一个矩...

2018-07-24 14:49:00 377

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

题目描述:输入一个链表,输出该链表中倒数第k个结点。思路:先写进list,然后list[-k],注意判断 k 的值是否大于len(list)或者小于 1class ListNode: def __init__(self,x): self.val = x self.next = Noneclass Solution: def Fin...

2018-07-24 14:32:12 133

原创 剑指offer 变态跳台阶

题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路:当前台阶的跳法种数 = 当前台阶之前的所有台阶的跳法之和 意思就是假设现在有n阶,可以跳完n阶的情况分别是:一次跳完F(0);先跳一步F(1),后面还有F(n-1)种跳法;或者先跳两步F(2),后面还有F(n-2)种跳法。依次类推,第一次跳出n阶后,后面还...

2018-07-23 15:09:31 108

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

题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路:压栈时候写入stack1,接着使用pop()从后往前弹出stack1元素,依次把元素写入stack2,最后再使用pop弹出stack1 = [1,2,3,4,5]  pop = 5,4,3,2,1stack2 = [5,4,3,2,1]  pop = 1,2,3,4,5clas...

2018-07-23 14:51:39 112

原创 剑指offer 斐波那契数列(从0开始)

题目描述:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39思路:先把n = 0,1,2,这三个项确定了再使用递归class Solution: def Fibonacci(self,n): if n == 0: return 0 if n == 1...

2018-07-23 14:33:53 1273

原创 剑指offer 跳台阶问题

题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。思路:只有1阶台阶的时候,有一种跳法,2阶台阶,有2种跳法。当大于两阶台阶之后,把n级台阶时的跳法看成是n的函数,记为f(n),当n>2时,第一次跳的时候就有两种不同的选择:一是第一次只跳1级,此时跳法数目等于后面剩下的n-1级台阶的跳法数目,即为f...

2018-07-23 14:20:44 212

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

题目描述:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。思路:先把链表写进list中,然后list[::-1],从尾往头读取class ListNode: def__init__(self,x): self.val = x self.next = Noneclass Solution: def printlist...

2018-07-22 22:16:15 91

原创 剑指offer 替换空格

题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路:这个就直接replace就行了class Solution: def replaceSpace(self,s): s.replace(" ","%20") ...

2018-07-22 22:04:45 138

转载 xgboost的原理和实战

转载自https://blog.csdn.net/github_38414650/article/details/76061893以及https://blog.csdn.net/u011630575/article/details/79418138和csdn各博主的学习资料要了解xgboost是什么,首先要明白两个概念1.xgboost是很多CART回归树的集成2.bo...

2018-07-21 17:13:01 637

原创 剑指offer 数组中重复的数字

题目描述:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。思路:因为是要第一个重复的数字,所以先把读取的元素都存到列表,如果有出现重复,则停止读取,返回该数字cla...

2018-07-21 15:04:35 188

原创 剑指offer 数组中只出现一次的数字

题目描述:一个整型数组里除了两个数字之外,其他的数字都出现了偶数次。请写程序找出这两个只出现一次的数字。思路:这道题好奇怪,之前做出来了,后来怎么看怎么都不能理解之前为啥那么做,换种简单的做法class Solution: def FindNumsAppearOnce(self, array): result = [] array_set ...

2018-07-21 14:52:15 215

原创 剑指offer 数字在排序数组中出现的次数

题目描述:统计一个数字在排序数组中出现的次数。思路:遍历元素,若存在,则加1class Solution: def GetNumberOfk(self,data,k): num = len(data) j = 0 for i in range(num): if data[i] == k: ...

2018-07-21 14:29:30 106

原创 把数组排成最小的数

题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。思路:emmmmm承认我菜啊,这道题想了好久好久才懂按拼接次序进行排序得到的数字串变成str后数字是最小的,这句话啥意思?就是两两互相拼接找大小的排序,比如‘23’和‘32’拼接,拼接后有2332...

2018-07-20 22:04:27 176

转载 通俗理解集成学习boosting和bagging和随机森林

转载自csdn各种资料First,What is Ensemble Learning1.将多个分类方法聚集在一起,以提高分类的准确率(可以是相同or不同算法)2.集成学习法由训练数据构建一组基分类器,然后通过对每个基分类器的预测进行投票来进行分类3.严格来说,集成学习并不算是一种分类器,而是一种分类器结合的方法。4.如果把单个分类器比作一个决策者的话,集成学习的方法就相当于多个...

2018-07-20 21:34:09 9617 2

原创 剑桥offer(数组类)连续子数组的最大和

题目描述:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的和,你会不会被他忽悠住?(子向量的长度至少是1)思路:把数组里的元素相...

2018-07-18 15:12:39 115

原创 数组中出现次数超过一半的数字

题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。思路:使用python 的collections package 的collections.Counter方法import collectionsclass So...

2018-07-18 12:31:23 121

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

题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。思路:用两个数组,一个保存奇数,一个保存偶数,最后合在一起class Solution: def reOrderArray(self,array): array1 = [] ...

2018-07-18 10:33:06 95

原创 旋转数组的最小数字

题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。思路:先判断只有0和1个元素的情况,大于2个元素的通过遍历找到最小元素class Solutio...

2018-07-18 10:12:51 115

原创 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。

题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:因为是二维数组所以直接判断第一行有木有目标数接着判断第二行有木有目标数,使用eval(raw.input())输入target和二维数组class Solution: ...

2018-07-18 09:56:15 7748

转载 Python 子类通过super函数调用父类

Python中子类调用父类的方法有两种方法能够实现:1.直接调用父类构造方法,2.使用super函数。super(FooChild,self).__init__(xxx,xxx)如下例子:class A(object): def __init__(self,xing,gender): self.namea="aaa" self.xing =...

2018-07-17 17:06:42 2483

原创 第一个只出现一次的字符

题目要求:在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置思路:1.用set去除掉重复的,找出字符串共有几个不同的字符2.使用count找到仅出现过一次的字符,并获取索引3.返回最小的索引# -*- coding:utf-8 -*-class Solution:    def FirstNotRepeat...

2018-07-17 09:55:53 67

原创 整数中1出现的次数(从1到n整数中1出现的次数)

题目描述:求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。解题思路:将1~n的所有数字转化成str然后把所有的str合成一个str找出这个str中1的个数cl...

2018-07-17 09:36:41 170

原创 丑数

题目描述:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。解题思路丑数的定义是1或者因子只有2,3,5,so,丑数=丑数*丑数。接着可以把丑数的有序序列分为三类:1.包含2的有序丑数序列2.包含3的有序丑数序列3.包含5的有序丑数序列使用...

2018-07-17 09:24:54 206

原创 决策树算法

1.what is decision tree所谓决策树,就是一个类似于流程图的树形结构,树内部的每一个节点代表的是对一个属性的测试,树的分支代表该属性的每一个测试结果,而树的每一个叶子节点代表一个类别。在决策树中,所有的特征均为符号值,即离散值。如果某个特征的值为连续值,那么需要先将其离散化。从根节点到叶节点的一条路径就形成对相应对象的类别预测,目的是希望决策树的分支节点所包含的样本...

2018-07-04 14:06:19 530

原创 决策树算法的补充与代码实现

决策树用树形结构对样本的属性进行分类,是最直观的分类算法,而且也可以用于回归。1.决策树算法的优点:1:理解和解释起来简单,且决策树模型可以想象2:需要准备的数据量不大,而其他的技术往往需要很大的数据集,需要创建虚拟变量,去除不完整的数据,但是该算法对于丢失的数据不能进行准确的预测3:决策树算法的时间复杂度(即预测数据)是用于训练决策树的数据的对数4:能够处理数字和数据的类别(需要做相应的转变),...

2018-07-02 21:06:31 566

转载 keras常用用法

激活函数类型softmax、elu、softplus、softsign、relu、tanh、sigmoid、hard_sigmoid、linear1.Dense(全连接层)<code class="language-python">keras.layers.core.Dense ( units, activation=None, use_bias=True, kernel_initia...

2018-07-02 15:52:51 973

原创 深度学习中的batch、epoch、iteration的含义

深度学习的优化算法,说白了就是梯度下降。每次的参数更新有两种方式。第一种,遍历全部数据集算一次损失函数,然后算函数对各个参数的梯度,更新梯度。这种方法每更新一次参数都要把数据集里的所有样本都看一遍,计算量开销大,计算速度慢,不支持在线学习,这称为Batch gradient descent,批梯度下降。另一种,每看一个数据就算一下损失函数,然后求梯度更新参数,这个称为随机梯度下降,stochast...

2018-07-02 14:10:07 86567 33

空空如也

空空如也

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

TA关注的人

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