自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 收藏
  • 关注

原创 吴恩达深度学习课程1-4课后作业——L-Model Backward

到这里的时候已经被大段的英文和公式消磨了精力,只好根据每个代码段的提示来,但第二个需要填的段的提示跟题意不符,故根据提示填的代码怎么改怎么错,陷入死循环,直到看了别人的答案才恍然大悟。def L_model_backward(AL, Y, caches): """ Implement the backward propagation for the [LINEAR->RELU] * (L-1) -> LINEAR -> SIGMOID group Argu.

2021-05-18 20:00:51 637 1

原创 CCF-201512-3(90分超时求指点)

本题是一道比较复杂的模拟题,本人目前只想出了下面这种比较朴素的算法,对于如何优化以避免超时目前没有思路,求大佬们指点!!!问题描述试题编号: 201512-3 试题名称: 画图 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述   用 ASCII 字符来画图是一件有趣的事情,并形成了一门被称为 ASCII Art 的艺术。例如,下图是用 ASCII 字符画出来的 CSPRO 字样。   ..____.____.

2021-03-04 17:34:02 162 1

原创 CCF-201403-2 窗口

问题描述试题编号: 201403-2 试题名称: 窗口 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述   在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域。窗口的边界上的点也属于该窗口。窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的内容。   当你点击屏幕上一个点的时候,你就选择了处于被点击位置的最顶层窗口,并且这个窗口就会被移到所有窗口的最顶层,

2021-01-27 17:05:57 175

原创 CCF题库——201312-3最大的矩形

问题描述试题编号: 201312-3 试题名称: 最大的矩形 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述   在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi。这n个矩形构成了一个直方图。例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3。   请找出能放在给定直方图里面积最大的矩形,它的边要与坐标轴平行。对于上面给..

2021-01-24 21:29:42 217

原创 剑指offer——寻找二叉搜索树的第K小个节点

给定一棵二叉搜索树,请找出其中的第k小的结点。思路:首先,对一棵二叉搜索树来说,从小到大的遍历顺序要通过中序遍历才能够得到;其次要思考如何才能得出这个节点,我的想法是创建一个vector数组形式的全局变量用于保存二叉树的中序序列下的树的节点地址。最后要注意,牛客网是在同一程序中给出多组数据来验证结果,故要在方法开始处清除动态数组的内容。vector<TreeNode*> mix;//全局动态数组变量class Solution {public: void Middle(Tr

2021-01-06 23:34:23 133

原创 判断平衡二叉树

输入一棵二叉树,判断该二叉树是否是平衡二叉树。在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树定义:平衡二叉树(Balanced Binary Tree),具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。因为子树的左右子树的高度差的绝对值大于1不能使整颗树的左右子树高度差绝对值大于1,所以需要通过遍历的方式将整棵树遍历一遍并检测其左右子树高度差是否大于1。int TreeDepth(TreeNode* pRoot)

2021-01-06 23:11:52 185

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

本题要求得出二叉树的镜像本题有两种思路,一个是递归遍历,一个是非递归遍历。递归的方法是从二叉树的叶节点开始向上交换左右子节点的位序,遍历方法可以选择前序也可以选择后序,但不能用中序。因为若用中序会使先遍历一遍的左子树变为右子树,紧接着再遍历交换一遍现在的右子树(原来的左子树),最终会导致除了第一层的左右子树位置换了,别的都没变。(下附前序遍历的算法)void Mirror(TreeNode *pRoot) { if(!pRoot) return; TreeNod

2021-01-06 00:14:41 81

原创 剑指offer 变态跳台阶

这道题确实是挺变态的,用排列组合一点思路没有,是一道找规律的题目,把n相应的方法数写出来就可以了。这道题弄得爷要吐了,一开始根本没往找规律方向去想。题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路:关于本题,前提是n个台阶会有一次n阶的跳法。分析如下:说明:1)这里的f(n) 代表的是n个台阶有一...

2019-12-10 21:03:40 115

原创 剑指offer 跳台阶

题目介绍:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。思路:本题可以有两种思路,一种是通过组合排列来计算跳法总次数,一种是通过斐波那契数列特性来计算。组合排列法:本方法有一坑,就是在计算时,n的值过大会导致排列组合数值的溢出,此处,通过随算随除的方式将排列组合的计算进行优化。int jumpF...

2019-12-10 20:14:16 137

原创 两个栈实现一个队列

本题先前在复习王道时碰到过,当时因为写伪代码,只是想让两个栈来回倒,没有考虑其他问题;这次在做题时直接写系统提示我栈调用次数太多,段错误了。错误代码如下:class Solution{public: void push(int node) { stack1.push(node); } int pop() { int head;...

2019-12-10 15:38:26 138

原创 爬取某单位网页上发布的文书信息

因为听说某单位的网页反爬机制弱,所以我作死爬了该单位近期发布的文书信息,学习相关案例并对自己以示警戒。首先打开该网页对应的html代码分析想要得到的信息存在哪里。经过分析,得知这些位置是存放文书对应表项的地方。然后找页码链接,先爬下6页来学习学习。 得到这两个位置之后,就可以写代码了,下面附代码:from bs4 import BeautifulSoupimport r...

2019-01-19 20:52:12 356

原创 爬取B站弹幕

最近几天学习爬虫,便爬取了B站的弹幕,本篇博文记录的是爬取弹幕的方法一,近期会更新方法二。下面是流程:1.随意打开一个B站视频,按F12,点开network按键,在左上方的输入区输入 list 便可找到相应的弹幕数据包。 点开这个包是这个形式的网站这里面就有明文的弹幕,但通过requests获得的response是经过utf-8编码加密过的,想要获得弹幕内容还要解密。下...

2019-01-18 16:59:51 4739 3

原创 python学习笔记——6. 模块和高级用法

模块即C++中的库# 用import导入模块import mathprint(math.sqrt(16)) # =&gt; 4.0# 也可以从模块中导入个别值from math import ceil, floorprint(ceil(3.7)) # =&gt; 4.0print(floor(3.7)) # =&gt; 3.0# 可以导入一个模块中所有值# 警告...

2018-08-14 22:45:41 213

原创 python学习笔记——5. 类与面向对象

#关于python类的封装class People(): haha = 100 def __init__(self, name, age, id): self.id = id self.age = age self.name = name def say(self): print("My name is",...

2018-08-14 22:42:37 159

原创 python学习笔记——4. 函数

更新:函数的闭包特性:1,发生在嵌套函数中;2,内层函数用到了外层函数的变量;3,外层函数返回了内部函数的函数名def Hanshu1(b): a = 3 def Hanshu2(c): print(a+b+c) return Hanshu2x = Hanshu1(7)x(2)x(6)有闭包作用的装饰器:# 装饰器会将内部函数...

2018-08-14 22:30:41 229

原创 python学习笔记——3. 流程控制和迭代器

# 先随便定义一个变量some_var = 5# 这是个if语句。注意缩进在Python里是有意义的# 印出"some_var比10小"if some_var &gt; 10: print("some_var比10大")elif some_var &lt; 10: # elif句是可选的 print("some_var比10小")else: ...

2018-08-14 21:46:21 170

原创 python学习笔记——2. 变量和集合

# print是内置的打印函数print("I'm Python. Nice to meet you!")# 在给变量赋值前不用提前声明# 传统的变量命名是小写,用下划线分隔单词some_var = 5some_var # =&gt; 5# 访问未赋值的变量会抛出异常# 参考流程控制一段来学习异常处理# some_unknown_var # 抛出NameError# ...

2018-08-14 21:27:00 358

原创 python学习笔记——1. 原始数据类型和运算符

# 用井字符开头的是单行注释""" 多行字符串用三个引号 包裹,也常被用来做多 行注释"""# 整数3 # =&gt; 3# 算术没有什么出乎意料的1 + 1 # =&gt; 28 - 1 # =&gt; 710 * 2 # =&gt; 20# 但是除法例外,会自动转换成浮点数35 / 5 # =&gt; 7.05 / 3 # =&gt..

2018-08-14 20:41:52 244

原创 利用最近邻算法(knn)实现手写数字分类

最近邻算法knn原理:找到最近的k个邻居(样本),在前k个样本中选择频率最高的类别作为预测结果。算法步骤为:1)算距离:给定测试对象,计算它与训练集中的每个对象的距离2)找邻居:圈定距离最近的k个训练对象,作为测试对象的近邻3)做分类:根据这k个近邻归属的主要类别,来对测试对象分类...

2018-07-13 11:44:11 1564 1

原创 OPENCV自带级联分类器程序的训练与测试

在本文中我将利用 opencv 3.0 自带级联分类器将图片集训练得出训练好的分类器,通过程序调用的方法调用训练好的分类器进而检测行人。首先应找到级联分类器的位置所在,其位置一般应在opencv安装的根目录中,选中我划出的两个程序复制到训练集文件夹中。两者的作用分别是:opencv_createsamples用于准备训练用的正样本数据和测试数据,能够生成能被opencv_traincascade程...

2018-07-12 22:42:17 2206

原创 利用opencv中HOGDescriptor类的行人检测接口进行 行人检测

加上这个一共做了两种版本行人检测了,一个是利用

2018-07-12 21:36:51 1270

转载 图像处理常用边缘检测算子总结

不同图像灰度不同,边界处一般会有明显的边缘,利用此特征可以分割图像。需要说明的是:边缘和物体间的边界并不等同,边缘指的是图像中像素的值有突变的地方,而物体间的边界指的是现实场景中的存在于物体之间的边界。有可能有边缘的地方并非边界,也有可能边界的地方并无边缘,因为现实世界中的物体是三维的,而图像只具有二维信息,从三维到二维的投影成像不可避免的会丢失一部分信息;另外,成像过程中的光照和噪声也是不可避免

2018-05-06 22:11:14 1933

原创 图像处理笔记二(阙值、霍夫变换、重映射)

阙值化阙值是指“边界值”,可以用于划分两类不同性质的数值的界限。阙值法是基于图像中物体和背景之间的灰度差异而进行的像素级图像分割。为了从一幅图像中提取出我们所需要的部分,应该用图像中每一个像素点的灰度值与选取的阙值进行比较,按照阙值类型确定处理方法。霍夫变换用途:在灰度图像中寻找直线或识别几何形状。原理:先将图像转化为二值图像,再将各个像素点由在笛卡尔坐标系下的坐标转化为极坐标系中的坐标,然后统计...

2018-05-06 21:59:09 2525

原创 图像处理方面的笔记——滤波处理和形态学处理

关于滤波处理图像滤波是指尽量保留图像细节特征的情况下对目标图像的噪声进行抑制。其目的有二:提取对象特征作为图像识别的特征模式和消除图像数字化过程中混入的噪声。消除图像中的噪声成分叫做图像的平滑化或滤波操作。信号或图像的能量大部分集中于幅度谱的低频和中频段,而在高频段,有用的信息经常被噪声淹没。故,能够降低噪声影响的滤波器的工作原理是降低高频成分幅度。

2018-05-05 22:21:21 4866

原创 关于opencv中ROI区域的理解

在OpenCV中,图像矩阵用Mat类来进行存储。Mat类由两部分组成:矩阵头(包括矩阵尺寸、储存方法、存储地址等信息)和一个指向存储像素矩阵的指针(根据存储方法的不同矩阵的维度也会不同)。Mat的复制拷贝由于Mat的组成亦可分为两中形式:1.只复制指向原图像矩阵的指针和信息头而不复制图像矩阵;Mat A, C;// 仅创建信息头部分 A = imread("1.jpg", CV_LOAD_...

2018-05-03 21:24:12 3031

原创 图论中不带权的图的邻接矩阵的平方的意义

最近做图论的题的时候遇到了这样一个选择题,问,存在某不带权图的邻接矩阵A,则A*A所得矩阵中[i][j]的意义是什么。这个题在作答的时候没怎么看,就填了:表示图中i点和j点之间有邻接边。然而大家都知道,我所填得答案是说邻接矩阵A中的[i][j]的意义,并不是A*A。所以事后我结合百度然后自己有分析了一遍,发现了其中的规律:A*A中第i行第j列的数据表示从i点走两步到j点的路径条数。

2017-11-14 21:26:05 5250

原创 数组实现“堆”(数据结构)

“堆”是一种特殊的树形数据结构,他满足堆的特性:父节点一定不会小于子节点(或大于)。所有的堆都有着完全二叉树的结构,与完全二叉树不同的就是堆的左子节点的值和右子节点的值没有特定的大小关系。数组实现堆相对于链表更好理解,但相应的也需要标记出数组的光标位置和数组的大小。下面以一个最大堆为例子:结构体:typedef struct Heap{ ElementType *da

2017-11-09 17:07:02 2717

原创 搜索二叉树

搜索二叉树是一种严格执行“节点的值大于左子节点小于右子节点”这一规律的一种二叉树,而且其执行过程中是可以边插入边删除的。但要注意,二叉搜索树中节点的左子树中所有节点的值都要小于该节点,同理,右子树中所有节点的值都要大于该节点。下面是一种错误的搜索树:因19大于祖先节点17具体实现过程:结构体:struct BinTree{ ElementType key;

2017-11-08 11:09:09 275

原创 计算二叉树的最大宽度(非递归)

在做PTA作业的时候接触到了这个题,花了一个小时完全弄明白他的原理,我真是笨啊!!!思考这个问题,怎样才能层序遍历二叉树?那就是用队列,每当有一个节点出队列,则将这个出队列的节点的左右孩子入队列,这样可以按照层序遍历整个二叉树。那怎样在层序遍历的基础上将每层二叉树的节点分割开来,即达到累计出每层二叉树节点数目的作用呢?那就要借助“数量标注”了,所谓数量标注就是设置一个变量来标定你这

2017-11-02 21:51:39 12980 10

原创 PTA| 根据后序和中序遍历输出先序遍历(25 分)

根据后序和中序或前序和中序求二叉树这个算法我理解起来有些障碍,学了许久才弄明白是怎么一回事。大体流程就是以后序(或前序)为获取根节点的序列,以中序为主体寻取节点的左右子树以达到建树的目的。分析由后序和中序序列还原二叉树的样例:后序:2 3 1 5 7 6 4中序:1 2 3 4 5 6 7由后序遍历二叉树的规则知,最后一个遍历的节点为根节点故,取根节点4,到中序序列中

2017-11-01 22:05:38 2285 2

原创 关于Java类中的代码块 普通代码块和初始化代码块

在Java中存在代码块这一结构这一结构又主要分为普通代码块和初始化代码块两类。一、普通代码块普通代码块仅出现于方法中,起到分隔不同功能代码的作用,其运行顺序依据代码块出现的先后。public static void main(String[] args){ { int x=3;

2017-10-23 20:20:16 3919 1

原创 Java类中static的使用

1.不论static加在方法上还是变量上,都意味着它是整个类公有的,可以通过类的对象访问也可以通过类名直接访问。2.静态成员方法中可以直接调用同类中的静态成员,但是不能直接调用非静态成员。如果想要在静态成员方法中调用非静态变量,可以通过创建类的对象以实例化的形式调用该非静态变量。3.在非静态成员方法中可以直接访问静态或非静态变量。4.静态方法

2017-10-23 19:32:00 679

原创 关于Java的输入与输出

在java中输出的方法:System.out.println()//自动换行      或             System.out.print()//不换行其中System其实是java.lang包中的一个分类,系统级的许多属性和控制方法都在该类内部。成员变量即in(标准输入流), out(标准输出流), err(标准错误流)三个。因被static关键字修饰的成员可以直接通过

2017-10-23 17:20:20 307

原创 关于Java中的自动类型转换

一丶基础数据类型boolean  8bit/1bytebyte     8bit/1bytechar     16bit/2byteshort    16bit/2bytefloat    32bit/4byteint      32bit/4bytelong     64bit/8bytedouble   64bit/8byte   二丶关于java中的自

2017-10-23 15:17:31 380

原创 关于“ 无法启动此程序,因为计算机中丢失opencv_world320.dll”的错误提示

在昨天用360清理了一下电脑后,我的opencv的一些在系统中的配置都被清理了,这加强了我对360这款杀毒软件的警惕性。 这是错误提示截图:在百度后知道这是表示你的库文件在系统文件中丢失了,故需要手动重新添加该库文件到相应的文件中。解决方法:打开你安装opencv的那个文件夹,将其中对应的bin文件夹中的dll后缀文件复制到C:\Windows\System32中。

2017-10-23 10:07:22 1660

原创 java中的方法(函数)的定义

1.在java中函数(以后称为方法)的定义比起C语言来说还需要声明其访问权限。语法:访问修饰符 返回值类型 方法名(参数列表){方法的具体实现;}当一个方法被声明为static状态时,就可以直接使用"类名.方法"来调用,其余方法就new一个该类的对象去调用。2.当一个数组被当作参数传入方法的格式:调用处:int[] score = {1, 2, 3, 4};

2017-10-22 20:33:08 439

转载 Java util包中的Random类

Random类 (java.util)         Random类中实现的随机算法是伪随机,也就是有规则的随机。在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。相同种子数的Random对象,相同次数生成的随机数字是完全相同的。也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机

2017-10-22 20:30:44 2118

原创 Java数组越界错误:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 15

今天在学习Java时遇到了一个题,给你一个数组,让你得到该数组中数字的个数。一接触这个题的时候我第一想法是将这个数组通过Arrays类的toString()方法转化为String字符串,然后通过对下标的处理得到数字的个数,但是发现String类对象并不能够直接处理下标。然后我又将String类对象通过toCharArray()方法转化为字符数组,因为数组各个位置均会初始化为0,然后遍历该字符数

2017-10-22 15:56:21 125385 1

原创 Java中对数组的两种操作方法Arrays、foreach()

1.通过Arrays类对数组进行“排序与数组转为字符串”的两种处理:调用Arrays类时需要调用对应的包,java.util(1).sort()对数组进行排序,使数组元素以升序排列例:int[] scores = {78, 93, 97, 84, 63};       Arrays.sort(scores);(2).toString()将数组转化为字符串,其返回值为转换结果,为

2017-10-16 21:45:32 1135

原创 Java 创建对象、数组、调用方法、导入类的包

今天正式开始学习java,今天接触并记录下来的知识主要是关于java基础语法中和C语言不同的点。1.在java中char类型变量占2字节,也就是说,char类型保存的变量都将以2字节形式存在,包括数字、字符、英文字母等。char s = "男";2.在java中和c语言中都有"异或"即"^",其意义为:两者中只能有一者为真。3.在java中输出需要用到语句:System

2017-10-16 21:00:25 4977

空空如也

空空如也

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

TA关注的人

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