自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JoliceYu的技术博客

不积跬步无以至千里

  • 博客(124)
  • 资源 (2)
  • 收藏
  • 关注

原创 C++ STL 注意点

C++ STL 注意点1、存储内存所有的STL的容器的元素都是存储在堆中,所有的内存的开辟和释放都是容器自己解决的。整体内存分为:堆区域栈区域全局存储区:这其中BSS的没有初始化; DATA是初始化后的变量。文字常量区程序代码区2、常用的STL 容器总结(1)序列容器:一般常用的。vector:动态顺序容器。注意每次push元素,如果个数超过当前的capxxx容量值...

2018-11-01 20:06:40 1009

原创 DenseNet阅读笔记

一、摘要最近的研究表明: 在卷积网络中,如果靠近输出的层和靠近输入层有shorter connect的时候,网络可以设计的更深、具有更高的准确率以及更高效的训练。在这篇论文中,我们提出了denseNet的结构,在DenseNet中每个层以前向的方式与后面的层进行连接。传统的具有L层的神经网络,具有L个连接,但是DenseNet中L层的网络具有(L+1)*L/2这么多个连接。对于每个层,之前所有...

2018-03-26 19:26:40 1849

原创 ARTooloKit在android上编译demo的几个bug记载

最近一直在研究artoolkit在android上的应用,需要做一个AR的APP,需要在android上跑artoolkit框架,IDE使用的是android studio集成编译器。1、问题:在官网上下载了ARToolKit的源码,用AS打开后,截图如下(以下随便一个例子工程): Error:Unsupported method: BaseConfig.getApplicationId...

2018-02-23 15:32:15 370

原创 Mask-RCNN论文阅读笔记

一、摘要mask-rcnn本质上在fasterrcnn的基础上加了一个预测每个二值掩膜mask的分支,相当于在之前fasterrcnn的基础上,fasterrcnn将目标框出,maskrcnn在目标框内对目标做一个实例分割。整理思路如下: 在faster的基础上预测出了每个目标框,maskrcnn在框内对每个像素再进行预测,预测每个像素是否属于这个框所属的类别。eg:上图上,最大的那个框

2017-11-30 16:37:34 1782

原创 调用caffe的Python和C++的方法

1、linux下调用调用caffe的C++接口方法1:直接写sh脚本文件,再运行sh文件即可,这种最简单,也是最常用的,新手可以参照./examples/下的各种实例sh文件。 方法2:在CAFFE_ROOT目录下,直接在linux的命令行窗口运行 ./build/tools/caffe 后面加上相应的参数即可。2、、linux下调用调用caffe的python接口在linux中编译caffe的

2017-11-23 15:08:33 2465

原创 FasterRCNN训练自己数据记载

在将fasterrcnn的算法代码跑通了,尝试训练自己的数据,将自己的数据制作成VOC2007的格式即可。在这里主要参考小咸鱼的博客(http://blog.csdn.net/sinat_30071459/article/details/51332084),感谢大神。自己实际过程就是按照该博客一步步配置的,下面记录下自己配置中出现的一些问题。 1、Error:assert (boxes[:, 2]

2017-11-20 13:25:19 1348

原创 动态、静态编译以及MD、MDd、MT、MTd编译

一、问题的引出最近在VS2012中新建了一个MFC的工程,在自己电脑上运行很好,但是当拷贝到同学电脑上的时候一直出现“差dll”或者是“应用程序无法启动”的错误。后来找出原因,是自己编译的时候选择静态还是动态编译的问题。 解决办法1:让同学安装了VS2012,注意这里必须是和自己编译器相同的版本,比如是2013就不行。 解决办法2:在自己这边用静态编译,重新生成可执行文件即可。二、动态和静态编译

2017-05-08 15:13:35 3428

原创 VS2012中自动变量的地址分配问题

在上篇转载的博客中写到,自动变量是存储在栈中,且分配地址的顺序是根据声明的顺利递减分配地址。下面是自己的测试实例:使用的是int变量。#include using namespace std;int main(){ int n1 ; int n2 ; int n3 ; cout <<&n1<<endl; cout <<&n2<<endl; cout <<&n3<<endl;

2016-11-22 11:25:31 681

原创 char数据cout输出的一些问题。

1、在C++中常用的是利用cout进行数据输出,但是需要注意的是:在使用cout将数据打印出来的时候,char和unsigned char数据打印出来的是其相应的ASCII码,不是相关的数值。unsigned char a=80; char b = 80;cout //打印字母Pcout //打印字母P2、ASCII码表常用的相关部分1)ASCII码打印字符:十进制 32

2016-11-21 16:19:53 19909

原创 含有指针成员的结构体使用总结

在C++中经常用到结构体和指针,当定义一个结构体,结构体成员中有指针的时候,需要注意很多。一下分为:结构体初始化、结构体作为函数参数、函数返回值、以及结构体指针的情况进行总结。一、含有指针成员的结构体初始化含有指针成员的结构体初始化的时候,必须给指针成员给一个明确的地址。注意:给指针成员初始化的时候,要么给其一个地址,比如是数组数组地址的时候,就可以通过指针来操作数组,也可以一个变量的地址

2016-08-31 19:54:13 37287 4

原创 记录在linux配置Tensorflow走过的一些坑

前言今天下午尝试着在linux下配置下TensorFlow,之前一直在用Caffe,最近想着在实验室服务器上自己学着配置下Tensorflow遇到了一些坑,记载下。一、Anaconda安装遇到的一些坑无论是装什么软件配置什么环境,按照官网的步骤来肯定是不会有错误的,所以自己直接按照官网的步骤来安装的。 (1)上官网按照步骤来 问题1:在执行了创建名为 tensorflow...

2018-05-25 21:28:45 3890

原创 数据流中的中位数

1、题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。2、代码2.1 原理:用两个堆实现,左边是做大堆,右边是最小堆,当数据总数是偶数的时候,中位数是两个堆首元素和的一半;当数据是奇数的时候,可以约定取最大堆或者是最小堆的首元素。 2.2 思...

2018-03-20 18:28:19 1874 1

原创 序列化二叉树

1、题目描述请实现两个函数,分别用来序列化和反序列化二叉树2、代码12.1 原理:序列化的时候,先序遍历二叉树,将NULL的结点序列化为‘&amp;’,每2个节点的序列化结果之间用逗号分离开。反序列化的时候:依次遍历字符串,构建二叉树即可。序列化和反序列化都是递归的过程。 2.2 代码://先序遍历二叉树void preNode(TreeNode *root, string&a...

2018-03-20 10:21:56 298

原创 对称的二叉树 + 二叉树的下一个结点

1、对称二叉树1.1 题目:请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 1.2 原理:需要注意的是,题目中同样的理解,必须是结构一样,且对应节点的值也要是一样的。遍历的思想,对于根节点的左右子树可以分别将其看成两个二叉树1和树2,同时遍历两个二叉树,只要对应的值相当,每次遍历中比较树1的左节点与树2的右节点,树1的右节点和树...

2018-03-18 16:12:47 288

原创 删除链表中重复的结点

1、题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1-&gt;2-&gt;3-&gt;3-&gt;4-&gt;4-&gt;5 处理后为 1-&gt;2-&gt;52、代码1:2.1 原理:首先判断第一个节点是不是值重复的结点,如果是,找到第一个不重复的结点作为头指针,重新调用函数即可;如果第一个节点不是值重复的结点,...

2018-03-13 11:16:32 294

原创 确定链表中是否有环

1、题目描述在一个链表中,判断是否存在环状结构,如果存在返回环状结构的入口结点,如果没有,返回NULL。2、代码12.1 原理: (1)通过双指针法(一个一倍速,一个二倍数,同时开始遍历)遍历链表,确定是否有环。 (2)如果有环,确定环内节点的个数N。 (3)两个指针p1和p2同时指向链表头指针,相同速度遍历链表,p2比p1先走N个节点,当两个指针相遇的时候,两个指针一定...

2018-03-12 21:53:40 321

原创 字符流中第一个不重复的字符

1、题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符”go”时,第一个只出现一次的字符是”g”。当从该字符流中读出前六个字符“google”时,第一个只出现一次的字符是”l”。如果当前字符流没有存在出现一次的字符,返回#字符。2、思路这个题目是需要统计每个字符出现的总次数和顺序,每次输出的时候,只输出所有的次数为1的字符中最先输入的那...

2018-03-11 20:51:31 324

原创 正则表达式匹配

1、题目描述请实现一个函数用来匹配包括’.’和’‘的正则表达式。模式中的字符’.’表示任意一个字符,而’‘表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串”aaa”与模式”a.a”和”ab*ac*a”匹配,但是与”aa.a”和”ab*a”均不匹配。2、代码2.1原理 这种匹配问题,开始看起来很复杂,无心下手,但是入手将所有的...

2018-03-11 16:37:59 320

原创 数组中重复的数字

1、题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。2、代码12.1 原理:特别注意这个题目中的条件设置,数字的长度为N,数组里所有数组的范围是0-(N-1)...

2018-03-11 14:08:49 535

原创 把字符串转换成整数

1、题目描述将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。2、代码2.1 原理: 这个题目从题目本身上来说是不难的,但是主要是需要注意一些特殊的情况需要加以判断,以下是一个需要考虑的特殊情况: (1)如果输入的字符串是空的字符 (2)如果输入是带正负号的字符串 (3)在(2)的基础上,如果只有一个字符,且...

2018-03-11 12:07:46 1723

原创 求1+2+3+...+n

1、题目描述求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。2、思路12.1 思路:因为不能用乘除法、for、while、if、else、switch、case等,就是相当与没法累计计算和了以及计算求和的终止条件。思路1是利用函数递归调用计算求个次数,利用逗号条件判断表达式计算终止条件。 2.2...

2018-03-11 09:52:02 3567

原创 不用加减乘除做加法

1、题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。2、代码2.1 思路: 联系平时做十进制加法的思路,当两个数相加的时候,先将对应每个位相加,但是不产生进位,但是将进位的位置记录;第二部就是对应位相加但是不进位的结果和记录进位的数相加,最后就是结果。因此这个题目的思路在于: (1)sum0=nun1^num2;按位异或,这样就相当于两个数...

2018-03-11 09:08:18 220

原创 孩子们的游戏(圆圈中最后剩下的数)----约瑟夫死亡问题

1、题目描述每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0…m-1报数….这样下去….直到...

2018-03-10 15:23:32 1528 1

原创 翻转单词顺序列VS左旋转字符串

一、翻转单词顺序列1、题目描述牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么...

2018-03-09 16:23:54 300

原创 和为S的连续正数序列

1、题目描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!2、代码12.1 原理:这里是求...

2018-03-09 15:14:19 256

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

1、题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。2、代码源码2.1异或运算: 主要用到了位运算中中的异或运算。异或运算有很多很好的性质,关于异或运算的性质见博客http://blog.csdn.net/gtkknd/article/details/52798337 这里说下几个重要的性质:异或运算 (1)任何数据异...

2018-03-08 10:29:21 305

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

1、题目描述统计一个数字在排序数组中出现的次数。2、代码2.1:因为数组是已经排序好的,因此可以直接使用二分查找,只需要找到第一个K和最后一个K出现的下标,就可以计算出K在数组中出现的次数。 2.2代码:#include&lt;iostream&gt;#include&lt;vector&gt;using namespace std;//获取第一个k的位置int...

2018-03-07 11:27:43 182

原创 两个链表的第一个公共结点

1、题目描述输入两个链表,找出它们的第一个公共结点。2、代码12.1、思路:如果两个链表有公共节点,那么其公共节点之后的结点就是一样的。那么两个链表头到公共节点的距离差就是两个链表的长度差,因此,只需要求出两个链表的长度只差M,让长的链表先走M个节点,再继续同时遍历两个链表,当两个链表的指针相等的时候,就是第一个相同的结点。 2.2、代码:#include&lt;iostre...

2018-03-07 10:51:02 390

原创 数组中的逆序对

1,题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%10000000072、代码2.1思路:基于归并排序进行计算逆序对,本质上是分而治之的思想。关于归并排序可以参考博客http://blog.csdn.net/yuehailin/articl...

2018-03-06 11:08:37 253

原创 丑数

1、题目描述把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。2、代码12.1:思路:因为丑数的因子只能是2、3和5,因此一个丑数的2、3和5倍的数一定是丑数。所以只需要记录一个丑数的系列的最大值,就可以推出当下的下一个丑数。方法:假设现在从小到大的一个丑...

2018-03-05 14:10:34 338

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

1、题目描述求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。2、代码12.1、思路:任何数据范围分成两个部分。以3258为例,首先将1-3258的范围...

2018-03-04 14:47:48 243

原创 快速排序

快速排序在很多地方都有很大的用处,最近在刷题的时候,经常遇到快排的代码,在此记录下:#include&lt;iostream&gt;#include&lt;vector&gt;using namespace std;//给定一个系列的起始,随机选择一个值,小于这个值调到左边,大于的调到右边int Partition(vector&lt;int&gt;&amp; array, in...

2018-03-04 11:33:44 155

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

1、题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。2、代码1:2.1思路:如果一个数字在数组中出现的次数多于一半,那么这数字一定是整个数组数字的中位数。因为核心点在于如何求数组的中位数。求中位数,最快的就是快快速排序...

2018-03-03 13:21:46 276

原创 字符串的排列

1、题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。2、代码2.1题目思路: 基本的思路是:一个字符串的排列等于第一字符和后面剩余字符串排列的组合,对于含有N字符的字符串,组合中第一个字符串有N种可能,那么将所有的字符串轮流放在组合第一个当第一个...

2018-03-03 10:48:49 591

原创 二叉搜索树与双向链表

1、题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。2、代码1:(自己实现)2.1思路:因为二叉搜索树的左右子也是一个二叉搜索树,因此对于整个二叉搜索树的根节点来说,只要将其左右子树分别转换成一个双向链表,那么再将根节点连上就可以了,那么这就是一个递归问题了。需要注意的一个点:对于根节点来说,其左边相连是应该是左...

2018-03-02 09:51:03 212

原创 复杂链表的复制

1、题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)2、代码和思路2.1思路: 将原始链表的每个节点的后面新建一个和该结点值一样的结点并插入到该结点的后面;再复制每个节点的随机指向指针的指向;最后从混合链表中...

2018-02-26 17:45:14 165

原创 二叉树中和为某一值的路径

1、题目描述输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。2、代码和思路2.1思路:本质上是一种带记忆的DFS(深度优先搜索)来遍历整个二叉树。主要是如何记忆路线。以下是自己理解的算法思路: (1)基于先序遍历遍历二叉树。每访问一个节点就把这个节点的值放到公共的vector中,这个vecto...

2018-02-26 16:19:31 144

原创 栈的压入、弹出序列

1、题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)2、代码和思路2.1思路:用一个辅助栈实现。 (1)将第一个序列第一个元素放...

2018-02-25 11:26:00 233

原创 包含min的栈

1、题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。2、代码和思路2.1思路: 用栈这个容器实现,因为其具有后进先出的特点。为了实现min,可以构造一个辅助栈:放入第一元素的时候,存放元素的栈和辅助栈同时将元素压入栈,后面再压入元素,如果辅助栈的栈顶元素大于等于(这里必须是大于等于,要考虑所有压入元素相同的情况)要压入的元素,那么将当前元素也压入辅助...

2018-02-25 10:19:31 158

原创 :34:5: error: control may reach end of non-void function [-Werror,-Wreturn-type] 错误分析

在做牛客网的题目的时候经常遇到这种问题,代码在VS上跑的时候一点问题没有,但是放到牛客网上就出这个问题./solution.h:34:5: error: control may reach end of non-void function [-Werror,-Wreturn-type]了,而且经常找不到错误,今天遇到一个错误记录下,以免忘记。错误分析分析:一般这个错误的第一个数字就是指的是...

2018-02-25 10:09:39 9756 1

opencv分封装函数到dll

在opencv的实际使用,经常遇到这种情况,自己在电脑上配置了opencv,写好了opencv的代码工程,在环境变量中加了opencv的dll的路径,这样可以在自己电脑上运行代码。但是如果将该工程拷贝到其他没有配置opencv的电脑上就无法运行。解决办法:在配置了opencv的电脑上(但是在环境变量中没有添加dll的路径),将调用相关函数的代码封装成函数,生成dll文件,拷贝到其他没配置opencv的电脑上,再解析该dll,将该dll中调用的一些opencv的函数涉及到的opencv的dll拷贝下就行。

2017-12-03

Gdal读取与生成图像

Gdal读取与生成图像

2016-11-23

空空如也

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

TA关注的人

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