自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 C++ STL中Map的按Key排序和按Value排序

map是用来存放键值对的数据结构,可以很方便快速的根据key查到相应的value。假如存储学生和其成绩(假定不存在重名,当然可以对重名加以区分),我们用map来进行存储就是个不错的选择。 我们这样定义,map,其中学生姓名用string类型,作为Key;该学生的成绩用int类型,作为value。这样一来,我们可以根据学生姓名快速的查找到他的成绩。        但是,我们除了希望能够查询某

2016-07-07 17:34:23 543

原创 下一个较大元素

题目描述现在我们有一个int数组,请你找出数组中每个元素的下一个比它大的元素。给定一个int数组A及数组的大小n,请返回一个int数组,代表每个元素比他大的下一个元素,若不存在则为-1。保证数组中元素均为正整数。测试样例:[11,13,10,5,12,21,3],7返回:[13,21,12,12,21,-1,-1]思路:使用栈,看代码比较好明白。

2016-07-07 16:08:54 520

转载 OpenCV HOGDescriptor 参数图解

原文转自http://blog.csdn.net/raodotcong/article/details/6239431最近要做图像特征提取,可能要用下HOG特征,所以研究了下OpenCV的HOG描述子。OpenCV中的HOG特征提取功能使用了HOGDescriptor这个类来进行封装,其中也有现成的行人检测的接口。然而,无论是OpenCV官方说明文档还是各个中英文网站目前都没有这个类的使用

2016-06-16 15:26:22 493

原创 满足条件的整数对个数

题目描述请设计一个高效算法,找出数组中两数之和为指定值的所有整数对。给定一个int数组A和数组大小n以及需查找的和sum,请返回和为sum的整数对的个数。保证数组大小小于等于3000。测试样例:[1,2,3,4,5],5,6返回:2方法一:双指针法:class FindPair {public: int countPairs(vecto

2016-06-16 08:55:04 1463

转载 最小调整有序

题目描述有一个整数数组,请编写一个函数,找出索引m和n,只要将m和n之间的元素排好序,整个数组就是有序的。注意:n-m应该越小越好,也就是说,找出符合条件的最短序列。给定一个int数组A和数组的大小n,请返回一个二元组,代表所求序列的起点和终点。(原序列位置从0开始标号,若原序列有序,返回[0,0])。保证A中元素均为正整数。测试样例:[1,4,6,5,9,10],6

2016-06-15 10:19:14 655

原创 阶乘末尾零的个数

题目描述请设计一个算法,计算n的阶乘有多少个尾随零。给定一个int n,请返回n的阶乘的尾零个数。保证n为正整数。测试样例:5返回:1思路:对N!进行质因数分解,N!=2的X次方*3的Y次方*5的Z次方*.....因为10=2*5,所以末尾零的个数只与X和Z相关,每一对2和5相乘可以得到一个10,因为X大于等于Z,所以只要求出Z的值即可。代码:

2016-06-13 21:33:38 609

转载 C++ STL中哈希表 hash_map介绍

1、 为什么需要hash_map用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改:岳不群-华山派掌门人,人称君子剑张三丰-武当掌门人,太极拳创始人东方不败-第一高手,葵花宝典...这些信息如果保存下来并不复杂,但是找起来比较麻烦。例如我要找"张三丰"的信息,最

2016-05-18 14:06:49 2545 1

原创 MFC中picture控件中利用OpenCV显示图像

如何将一张图像(Mat类型或者IplImage* 类型)显示到指定图像控件中?经过一系列探索,解决方法如下:    OpenCV程序在MFC中实现的方法通常是采用CvvImage类,这个类的成员函数DrawToHDC可将位图整体经缩放后显示到视图窗口中,但是我的opencv版本为2.4.9,没有这个类,因此需要手动添加”CvvImage.h”和”CvvImage.cpp”.这个自己可以在网

2016-05-16 09:12:51 1184

原创 最大连续数列和

题目描述对于一个有正有负的整数数组,请找出总和最大的连续数列。给定一个int数组A和数组大小n,请返回最大的连续数列的和。保证n的大小小于等于3000。测试样例:[1,2,3,-6,1]返回:6思路:动态规划法。设record[j]为以A[i]为结尾的最大连续数列和,然后求最大值。class MaxSum {public: int ge

2016-05-11 21:09:14 1728

原创 python文件处理

一、python文件操作基础文件:python中文件是对象。文件属性:用户、读、写、执行权限。1、文件的打开方式文件打开方法:open(name,mode,buf)name:文件路径mode:打开方式buf:设置读写文件缓冲大小python打开文件方式:read(size)#读取文件,读取size个字节,默认读取全部readline()#读取一行read

2016-05-11 17:11:05 324

原创 python正则表达式

一、正则表达式基本概念    首先想为什么要使用正则表达式,在处理文本的时候,难道只使用字符串匹配就足够了吗,比如在一个文本中找到以hello开头的语句:def find_start(f_name): f=open(f_name) for line in f: if line.startswith("hello"): print li

2016-05-10 20:19:00 595

原创 python面向对象编程III(定制类)

python中的特殊方法任何数据类型的实例都有一个特殊方法:__str__()如果执行:print lst[1,2,3]实际执行的是__str__()方法。所以如果给一个类加上一个__str__()方法,就可以按照自己的想法打印出想要的信息来。那么python有哪些特殊方法呢?用于print的__str__()方法用于len的__len__()方法用于cmp的__

2016-05-10 16:33:23 448

原创 python面向对象编程基础II(类的继承)

继承一个类继承的好处:1、复用已有代码2、自动拥有现有类的所有功能3、只需要编写缺少的功能如果已经定义了Person类,需要定义新的Student和Teacher类时,可以直接从Person类继承:class Person(object): def __init__(self, name, gender): self.na

2016-05-10 15:09:04 1010

原创 Python面向对象编程基础

定义类并创建实例在Python中,类通过 class 关键字定义。以 Person 为例,定义一个Person类如下:class Person(object): pass按照 Python 的编程习惯,类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的。类的继承将在后面的章节讲解,现在我们只需要简单地从object类继承。有了Pe

2016-05-08 15:50:31 503

转载 位运算总结

原文转自http://blog.csdn.net/morewindows/article/details/7354571在计算机中所有数据都是以二进制的形式储存的。位运算其实就是直接对在内存中的二进制数据进行操作,因此处理数据的速度非常快。在实际编程中,如果能巧妙运用位操作,完全可以达到四两拨千斤的效果,正因为位操作的这些优点,所以位操作在各大IT公司的笔试面试中一直是个热

2016-05-08 15:23:16 359

原创 无缓存交换

题目描述请编写一个函数,函数内不使用任何临时变量,直接交换两个数的值。给定一个int数组AB,其第零个元素和第一个元素为待交换的值,请返回交换后的数组。测试样例:[1,2] 返回:[2,1]代码:class Exchang

2016-05-08 15:16:55 728

原创 数组中的逆序对

题目描述有一组数,对于其中任意两个数组,若前面一个大于后面一个数字,则这两个数字组成一个逆序对。请设计一个高效的算法,计算给定数组中的逆序对个数。给定一个int数组A和它的大小n,请返回A中的逆序对个数。保证n小于等于5000。测试样例:[1,2,3,4,5,6,7,0],8返回:7思路:冒泡排序,交换了多少次,就有有多少逆序对。代码cl

2016-05-08 15:00:17 329

转载 python 安装第三方模块

在Python中,安装第三方模块,是通过setuptools这个工具完成的。Python有两个封装了setuptools的包管理工具:easy_install和pip。目前官方推荐使用pip。如果你正在使用Mac或Linux,安装pip本身这个步骤就可以跳过了。如果你正在使用Windows,请参考安装Python一节的内容,确保安装时勾选了pip和Add python.exe

2016-05-06 17:26:21 848

原创 python 进阶

map()函数map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。例如,对于list [1, 2, 3, 4, 5, 6, 7, 8, 9]如果希望把list的每个元素都作平方,就可以用map()函数:因此,我们只需要传入函数f(x)=

2016-05-06 16:28:32 609

原创 python基础IV(切片、迭代、生成列表)

对list进行切片取一个list的部分元素是非常常见的操作。比如,一个list如下:>>> L = ['Adam', 'Lisa', 'Bart', 'Paul']取前3个元素,应该怎么做?笨办法:>>> [L[0], L[1], L[2]]['Adam', 'Lisa', 'Bart']之所以是笨办法是因为扩展一下,取前N个元素就没辙了。

2016-05-06 16:17:44 2488

原创 python基础III(dict、set、函数)

什么是dict我们已经知道,list 和 tuple 可以用来表示顺序集合,例如,班里同学的名字:['Adam', 'Lisa', 'Bart']或者考试的成绩列表:[95, 85, 59]但是,要根据名字找到对应的成绩,用两个 list 表示就不方便。如果把名字和分数关联起来,组成类似的查找表:'Adam' ==> 95'Lisa' ==>

2016-05-06 16:08:47 663

原创 python基础II(list、tuple、简单程序结构)

创建listPython内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。比如,列出班里所有同学的名字,就可以用一个list表示:>>> ['Michael', 'Bob', 'Tracy']['Michael', 'Bob', 'Tracy']list是数学意义上的有序集合,也就是说,list中的元素是按照顺序排列的

2016-05-06 15:53:11 940

原创 python基础I

数据类型计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。在Python中,能够直接处理的数据类型有以下几种:一、整数Python可以处理任意大小的整数,当然包括负整数,在Python程序中,整数的表示方法和数

2016-05-06 15:38:40 716

原创 叠罗汉II

题目描述叠罗汉是一个著名的游戏,游戏中一个人要站在另一个人的肩膀上。为了使叠成的罗汉更稳固,我们应该让上面的人比下面的人更轻一点。现在一个马戏团要表演这个节目,为了视觉效果,我们还要求下面的人的身高比上面的人高。请编写一个算法,计算最多能叠多少人,注意这里所有演员都同时出现。给定一个二维int的数组actors,每个元素有两个值,分别代表一个演员的身高和体重。同时给定演员总数n

2016-05-05 21:51:53 814

原创 叠罗汉

题目描述叠罗汉是一个著名的游戏,游戏中一个人要站在另一个人的肩膀上。同时我们应该让上面的人比下面的人更高一点。已知参加游戏的每个人的身高,请编写代码计算通过选择参与游戏的人,我们多能叠多少个人。注意这里的人都是先后到的,意味着参加游戏的人的先后顺序与原序列中的顺序应该一致。给定一个int数组men,代表依次来的每个人的身高。同时给定总人数n,请返回做多能叠的人数。保证n小于等于

2016-05-05 21:02:12 1125

原创 二维数组的查找

题目描述有一个NxM的整数矩阵,矩阵的行和列都是从小到大有序的。请设计一个高效的查找算法,查找矩阵中元素x的位置。给定一个int有序矩阵mat,同时给定矩阵的大小n和m以及需要查找的元素x,请返回一个二元数组,代表该元素的行号和列号(均从零开始)。保证元素互异。测试样例:[[1,2,3],[4,5,6]],2,3,6返回:[1,2]代码:

2016-05-05 20:34:11 369

转载 软件测试知识总结

什么是软件测试?软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。软件测试的目的?测试的目的是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺

2016-05-05 19:59:08 855

原创 旋转数组中元素的查找

题目描述有一个排过序的数组,包含n个整数,但是这个数组向左进行了一定长度的移位,例如,原数组为[1,2,3,4,5,6],向左移位5个位置即变成了[6,1,2,3,4,5],现在对于移位后的数组,需要查找某个元素的位置。请设计一个复杂度为log级别的算法完成这个任务。给定一个int数组A,为移位后的数组,同时给定数组大小n和需要查找的元素的值x,请返回x的位置(位置从零开始)。

2016-05-04 15:11:45 991

原创 第k个数

题目描述有一些数的素因子只有3、5、7,请设计一个算法,找出其中的第k个数。给定一个数int k,请返回第k个数。保证k小于等于100。测试样例:3返回:7解题思路:    代码:class KthNumber {public: int findKth(int k) { // write code here

2016-05-03 09:09:28 461

原创 C++中的栈和队列操作明细

使用标准库的栈和队列时,先包含相关的头文件#include#include定义栈如下:stack stk;定义队列如下:queue q;栈的操作如下:s.empty() //如果栈为空返回true,否则返回false s.size() //返回栈中元素的个数

2016-05-02 19:59:41 469

原创 约瑟夫环

题目描述约瑟夫问题是一个非常著名的趣题,即由n个人坐成一圈,按顺时针由1开始给他们编号。然后由第一个人开始报数,数到m的人出局。现在需要求的是最后一个出局的人的编号。给定两个int n和m,代表游戏的人数。请返回最后一个出局的人的编号。保证n和m小于等于1000。测试样例:5 3返回:4思路:把n个人的编号改为0~n-1,然后对删除的过程进行分析

2016-04-29 21:22:20 486

原创 堆箱子

题目描述:有一堆箱子,每个箱子宽为wi,长为di,高为hi,现在需要将箱子都堆起来,而且为了使堆起来的箱子不到,上面的箱子的宽度和长度必须大于下面的箱子。请实现一个方法,求出能堆出的最高的高度,这里的高度即堆起来的所有箱子的高度之和。给定三个int数组w,l,h,分别表示每个箱子宽、长和高,同时给定箱子的数目n。请返回能堆成的最高的高度。保证n小于等于500。测试样例:

2016-04-29 15:13:46 1361

原创 特征提取算法比较

2016-04-27 10:30:37 1026

原创 硬币表示

题目描述有数量不限的硬币,币值为25分、10分、5分和1分,请编写代码计算n分有几种表示法。给定一个int n,请返回n分有几种表示法。保证n小于等于100000,为了防止溢出,请将答案Mod 1000000007。测试样例:6返回:2代码:class Coins {public: int countWays(int n)

2016-04-26 21:55:44 593

原创 卷积神经网络(Convolutional Neural Networks,简称CNN)

卷积神经网络(CNN)算是深度神经网的前身了,在手写数字识别上在90年代初就已经达到了商用的程度。先明确一点就是,Deep Learning是全部深度学习算法的总称,CNN是深度学习算法在图像处理领域的一个应用。一、简介    现在,CNN已经成为众多科学领域的研究热点之一,特别是在模式分类领域,由于该网络避免了对图像的复杂前期预处理,可以直接输入原始图像,因而得到了更为广泛的应用。 

2016-04-25 08:39:40 6066

原创 洪水

题目描述:在一个nxm矩阵形状的城市里爆发了洪水,洪水从(0,0)的格子流到这个城市,在这个矩阵中有的格子有一些建筑,洪水只能在没有建筑的格子流动。请返回洪水流到(n - 1,m - 1)的最早时间(洪水只能从一个格子流到其相邻的格子且洪水单位时间能从一个格子流到相邻格子)。给定一个矩阵map表示城市,其中map[i][j]表示坐标为(i,j)的格子,值为1代表该格子有建筑,0

2016-04-23 15:42:57 1404

原创 双栈排序

题目描述请编写一个程序,按升序对栈进行排序(即最大元素位于栈顶),要求最多只能使用一个额外的栈存放临时数据,但不得将元素复制到别的数据结构中。给定一个int[] numbers(C++中为vector&ltint>),其中第一个元素为栈顶,请返回排序后的栈。请注意这是一个栈,意味着排序过程中你只能访问到第一个元素。测试样例:[1,2,3,4,5]返回:[5,4,

2016-04-21 16:03:41 603

转载 Stanford公开课--神经网络的学习

觉得反向传播算法不太好理解,希望借助这篇博客加深理解。

2016-04-21 14:27:28 461

原创 Stanford公开课--神经网络的表示

在一个神经网络里,我们将神经元模拟成一个逻辑单元,下面是一个最简单的情形:                             黄色圆圈就相当于神经元的作用,左边是输入,右边是输出;输出是:    其中:                            其中x0叫偏置单元 ,值总是为1.上面的那个函数在神经网络中也称为激励函数。是模型的参数,在神经

2016-04-20 16:25:43 680

转载 什么是特征点、特征描述、特征匹配

特征匹配(Feature Match)是计算机视觉中很多应用的基础,所以花一些时间去深入理解这个概念是不为过的。本文希望通过一种通俗易懂的方式来阐述特征匹配这个过程,以及在过程中遇到的一些问题。概念理解:假设这样的一个场景,小明和小小明都在看一个图片,但是他们想知道他们看的是否是同一幅图片,于是他们就通过电话描述这个图片,来判断是否是同一个图片。比如说有下面两个图片

2016-04-20 09:30:16 16506

空空如也

空空如也

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

TA关注的人

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