自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小海的专栏

梦幻之海

  • 博客(22)
  • 资源 (7)
  • 收藏
  • 关注

转载 C++模板:究竟什么是特化?

我已经制定了一个计划,希望可以定期地在博客上更新文章。我将探讨编译器如何处理模板等这类有意思的事情,并佐以实例。作为一个编译器开发人员,我倾向于用一些小的例子来显示或者测试编译器是如何工作的,而不是来指导你如何在一个应用程序中使用编译器的某个功能。或许会有些人觉得这是有趣的事情。关于这个话题,我有很多想法,也希望大家能多提供建议。我觉得比较有意思的一件事是编

2016-07-30 09:47:28 925

转载 DNS解析过程

1、在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。 2、如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。 3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/ip参数中设置的首

2016-07-21 11:34:57 359

原创 《剑指offer》-把字符串转换成整数

题目描述将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。解法:1.判断字符串指针是否为NULL,字符串是否为空“\0”2.判断第一个正、负号3.进行循环判断,核心转换就是字符-‘0’就是数字了,然后*10,不断累加即可4.还要判断是否溢出,int为4个字节,所以正数上限为0x7FFFFFFF,负数的底线为0x8FFFFFF

2016-07-16 09:10:55 877

原创 《剑指offer》-不用加减乘除做加法

题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。解法:1.两个数进行按位异或,那么结果就是不含进位的加法值2.将两个数进行按位相与,再向左移动一位,那么结果就是两个数相加产生和的进位值3.将不含进位的加法值与进位值,不断进行循环,直到进位为0,那么结果就是两个数的和值class Solution {

2016-07-13 08:23:16 526

原创 《剑指offer》-求1+2+3+...+n

题目描述求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。解法:1.利用c++构造对象数组机制,构造上n个对象,这样构造函数就会被调用n次2.在构造函数里面进行求值运算3.利用静态变量的性质,只初始化一次,并且注意类的非常量静态变量只能放在类的外部进行初始

2016-07-13 08:13:45 370

原创 《剑指offer》-孩子们的游戏(圆圈中最后剩下的数)

题目描述0,1,2.....n-1这n个数字排成一个圈,从数字0开始每次从圆圈里删除第m个数(从1开始计数)。求出这个圆圈最后剩下的数字。解法:1.构建一个链表用来存储这些数字,很明显可以用STL里面的容器list进行存储2.而后进行删除,当list里面的数字个数大于1的时候,循环进行删除3.在循环体里,先找到第m个数的位置(注意for从1开始,

2016-07-12 09:14:48 1020

原创 《剑指offer》-扑克牌顺子

题目描述从扑克牌中随机抽取5张,判断是不是一个顺子。2-10为数字本身,A为1,J为11,Q为12,K为13,而大小王可以为任何数字。解法:1.关键思想就是把大小王看成0,而0又可以当做任何数字2.首先判断出5个牌里面0的个数3.判断出相邻数字之间的间隔,若间隔数大于0的个数,那么0就无法填充使之成为顺子,例如0,1,4,5,6,其中1到4的间隔

2016-07-12 09:01:56 1139

原创 《剑指offer》-翻转单词顺序列

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

2016-07-11 09:31:01 404

原创 《剑指offer》-左旋转字符串

题目描述汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!解法:1.直接使用STL里面的assign函数进行取段,然后再利用

2016-07-11 09:10:53 265

原创 《剑指offer》-和为S的连续正数序列

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

2016-07-11 09:03:50 530

原创 c++中的函数对象与函数指针学习

篇一、函数指针函数指针:是指向函数的指针变量,在C编译时,每一个函数都有一个入口地址,那么这个指向这个函数的函数指针便指向这个地址。函数指针的用途是很大的,主要有两个作用:用作调用函数和做函数的参数(经常用于函数回调中)。函数指针的声明方法:数据类型标志符 (指针变量名) (形参列表);  //函数返回值类型  (*指针变量名) (函数形参列表)一般函数的声明为:

2016-07-08 09:12:46 360

原创 《剑指offer》-和为S的两个数字

题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述:小的在前,大的在后。解法:1.从数组的首尾开始进行,和大于S的,则尾部--,和小于S的,则头部++和leetcode里面的TWO SUM有点类似,不过一个是求下标,一个是求数字,数字的更加简单,下标也可以采用一样

2016-07-07 08:53:34 373

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

题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。解法:1.了解几个常识:a.了解两个相同的数字异或结果为0b.任何数字与0进行异或结果为数字本身c.任何数字与1相与,只有最低位(右边)为1时候,才等于12.一种对数组分成两组的方法,比如2(10)和3(11)异或以后最低位为1,那

2016-07-07 08:44:57 269

原创 《剑指offer》-平衡二叉树

题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。解法:一、常规理解法(复杂度高o(N^2))1.计算出每个需要遍历结点左右子树的深度,然后将左右子树的深度作差,若绝对值大于1,则非平衡二叉树,否则即为平衡二叉树2.不足之处就是,当前节点计算时,需要遍历其左子树的所有节点,那么在将左子树的节点作为节点时候,又需要遍历它下面的所有节点,这样会造

2016-07-06 09:28:32 305

原创 《剑指offer》-二叉树的深度

题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。解法:一、递归解法1.假设只有2层深度,那么计算时候只要计算左子树的深度为1或0,右子树的深度为1或0,那么结点的深度就是左子树与右子树的深度最大值+1,根据递归方法,不断遍历左右子树,最后回归到根节点,计算得到二叉树的深度。

2016-07-06 08:51:31 429

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

题目描述统计一个数字在排序数组中出现的次数。一、二分查找思想1.找到第一个k出现的位置,先二分查找入手,如果相等了,则向前一个寻找是否等于k,如果不相等则直接返回位置,即为第一个出现的位置,如果相等了,那么向左侧缩小范围,right的值变为前一个位置,继续递归查找。2.找到最后一个k出现的位置,同上方法,只不过是若后一个等于k,则向右侧缩小,left等于后一个位置,

2016-07-05 09:16:10 288

原创 《剑指offer》-两个链表的第一个公共结点

题目描述输入两个链表,找出它们的第一个公共结点。解法:一、暴力法,第一个链表从开头遍历,和第二个链表的每个节点元素比较,则需要两个for嵌套循环,那么复杂度是o(mn)二、第复杂度法,最长的链表先行遍历,然后再同时遍历比较相等的节点。复杂度为o(n+m)/*struct ListNode { int val; struct ListNode

2016-07-05 08:53:59 318

转载 函数指针和typedef 的用法(附例子)

1.简单的函数指针的应用形式1:返回类型(*函数名)(参数表) [cpp] view plain copychar (*pFun)(int);   char glFun(int a){ return;}   void main()   {       pFun = glFun;   //ps:小海注解:也可以写成pFun

2016-07-04 21:21:06 552

转载 C++数组、指针与vector、iterator

今天有点闲,于是打开电子版的>来看。其中9.2节有一个表9.4,它指出了vector 和 deque类型迭代器支持的操作。这本来是很平常的,但是表中的iter1+iter2引起了我极大的兴趣。于是写了下面一段代码来验证是否真的能支持这运算#include #include using namespace std;int main(){ vector vec(10);

2016-07-04 19:32:30 1889

转载 gcc学习(一)[第二版]

gcc简介1、 gcc是GNU Compiler Collection的缩写。最初是作为C语言的编译器(GNU C  Compiler),作者为Richard Stallman,是GNU项目的奠基者;现在已经支持多种语言,如C、C++、Java、Pascal、Ada、COBOL语言等 。 2、主要特征:gcc是一个可移植的编译器,支持多种硬件平台,甚至对Don Kn

2016-07-04 10:05:22 364

转载 c标准基本库函数:libc、glibc和glib的关系

【glibc 和 libc】 glibc 和 libc 都是 Linux 下的 C 函数库。 libc 是 Linux 下的 ANSI C 函数库;glibc 是 Linux 下的 GUN C 函数库。 ANSI C 和 GNU C 有什么区别呢?        ANSI C 函数库是基本的 C 语言函数库,包含了 C 语言最基本的库函数。这个库可以根据头文件划分为 1

2016-07-03 12:10:59 8118

转载 C++转换构造函数和类型转换函数

今天是第一次听到C++还有个转换构造函数,之前经常见到默认构造函数、拷贝构造函数、析构函数,但是从没听说过转换构造函数,隐式转换函数也是一样,C++的确是够博大精深的,再次叹服!         其实我们已经在C/C++中见到过多次标准类型数据间的转换方式了,这种形式用于在程序中将一种指定的数据转换成另一指定的类型,也即是强制转换,比如:int a = int(1.23),其作用是将1.2

2016-07-01 10:39:48 1133 2

虚拟视点绘制软件VSRS3.5

用于虚拟视点绘制的参考软件

2016-04-06

官方PSNR和SSIM---matlab实现

简单好用的matlab实现批量计算彩色RGB图像的PSNR和SSIM,设置了3种转换方法,(1)matlab自带转换YUV格式,(2)自己编写YUV转换公式(3)matlab自带转换灰度格式

2015-12-01

2004-2015软件设计师历年真题和答案

包含了从2004年到2015年上半年的软件设计师的历年真题和答案

2015-11-20

PSNR和SSIM-matlab实现

用matlab写的计算图片的PSNR和SSIM值,简单好用,直接运行没有错误

2015-08-28

图片转视频

图片转换成avi格式的视频,bmp2avi,jpg2avi

2015-08-25

深度估计软件

DERS version 5.1: source code of depth estimation software

2015-04-30

空空如也

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

TA关注的人

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