自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小海的专栏

梦幻之海

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

原创 《剑指offer》-最小的K个数

题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。解法:1.进行数组的分区,返回分区index值          2.根据index和k-1的大小来判断是否已经获取了足够的书,否则递归调用即可          3.分区函数的编写,快速排序的思想class Solution {

2016-05-31 21:25:47 324

转载 C++ 重载(overload)、重写(overrride)、重定义(redefine)总结

先来看几个概念:重载(overload),重写(override,也称覆盖), 重定义(redefine,也称隐藏)(PS:第三个我不确定在英文中是否应该称为redefine,如有问题,留言告知,谢谢)一、重载(overload)指函数名相同,但是它的参数表列个数或顺序,类型不同。但是不能靠返回类型来判断。(1)相同的范围(在同一个作用域中) ;(2)函

2016-05-29 10:32:33 1031

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

题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。解法:先排序,然后再从头开始统计个数。注意统计的时候从1开始。class Solution {public: int MoreThanHalfNum

2016-05-23 19:54:02 319

原创 《剑指offer》-字符串的排列

题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。 输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。解法:可以使用STL里面的全排序的函数,next_permutatio()。

2016-05-21 20:42:52 328

转载 虚拟机下centos6.5无法上网

前言:由于Linux下很多软件安装必须网络环境下进行,因此,对于如何在VMware下进行上网,我折腾了至少三天,今天上午,也即五一劳动节,终于搜到一遍技术文章,经过自己实践,VMware下Linux的可以上网啦。VMware虚拟机的CentOS无法上网的解决方法本人在虚拟机中安装了CentOS,按照安装Windows XP的经验,想要CentOS可以上网,发现居然上不了。找百度一些

2016-05-19 21:20:46 2843

原创 《剑指offer》-二叉搜索树与双向链表

题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。解法:主要应用到二叉树的中序遍历。将左子树遍历进行不断压栈,然后再出栈。用两个指针,current指向当前的树的节点,pre指向前一个节点,然后进行改指针引用,把压栈的节点进行出栈,并且在最后进行右子树是否存在的判断,这样才能够中序遍历。

2016-05-19 19:55:16 304

转载 理解一般指针和指向指针的指针

在说指向指针的指针之前,不得不说指向变量的指针。先看如下示例:1. 指向整型指针先看如下示例:View Code运行结果如下:我们先看下内存分配图:由上图可以清楚的知道,输出整形变量a的值是5,指针变量p的值是001BFD18,而*号的作用是取值,*p即取地址001BFD18中存放的值,即5。2. 指向字符型指针先

2016-05-19 19:03:00 266

转载 C++三大函数(The Big Three)

C++三大函数:析构函数复制构造函数operator=析构函数函数模样:~S()当一个对象超出作用域或执行delete的时候,析构函数就被调用。复制构造函数函数模样:S(const S& s)以下情况,复制构造函数均会被调用:声明的同时初始化:S s1 = s2; //注意此时虽然出现=,但是不是调用operator=哦S s1(s2);

2016-05-19 15:00:50 1465

转载 树、森林和二叉树的转换

树转换为二叉树(1)加线。在所有兄弟结点之间加一条连线。(2)去线。树中的每个结点,只保留它与第一个孩子结点的连线,删除它与其它孩子结点之间的连线。(3)层次调整。以树的根节点为轴心,将整棵树顺时针旋转一定角度,使之结构层次分明。(注意第一个孩子是结点的左孩子,兄弟转换过来的孩子是结点的右孩子)                       森林转换为

2016-05-18 10:29:45 366

原创 《剑指offer》-二叉树中和为某一值的路径

题目描述输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。解法:利用递归的出栈顺序,来进行返回比较。详细看程序#include #include #include #include #include #include using namespace std;s

2016-05-17 14:55:16 285

转载 linux中fork()函数详解(原创!!实例讲解) (转载)

一、fork入门知识     一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。    一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来

2016-05-16 10:22:37 269

原创 《剑指offer》-二叉搜索树的后序遍历序列

题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。解法:1.二叉搜索树,左子树不能大于根节点的值,右子树不能小于根节点的值          2.后续遍历,根节点在最后一位。所以先找出根节点,然后左右子树的分界点,最后再用递归即可解决问题。class Solution {

2016-05-15 10:04:11 390

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

题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。解法:将每一层的根节点存储到一个向量里面,从上到下,从左到右,判断是否存完比较有技巧,用到了一个变量num,来记录已经完成存储的个数,同时也用来终止存储的过程。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode

2016-05-13 13:28:47 338

原创 《剑指offer》-栈的压入、弹出序列

题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。解法:将出栈的队列进行反向压栈,然后判断将入栈元素入栈,与反向栈中的top元素相比较,如果相等的话进

2016-05-12 09:02:50 365

原创 《剑指offer》-包含min函数的栈

题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。解法:借助一个辅助栈,入栈的同时,判断入栈值是否大于辅助栈的头指针的值,大于则入栈,小于则入自己的头指针值。始终保持头指正值是入栈的最小值。#include class Solution {public: stack m_data, m_min; void push

2016-05-11 20:40:24 377

原创 《剑指offer》-顺时针打印矩阵

题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.解法:把左上角第一个点看成(0,0)位置,右下角点看成最终的点(EndRow,EndCol),其中用start来进行

2016-05-11 20:35:11 330

原创 《剑指offer》-二叉树的镜像

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

2016-05-10 19:22:49 311

原创 《剑指offer》-树的子结构

题目描述输入两颗二叉树A,B,判断B是不是A的子结构。解法:就是先找到相等的根节点,然后再子树遍历。所以要用到两个递归函数,根节点的递归函数,子树的递归函数。注意子树的递归函数中应该先判断子树是否遍历完为空,则返回true,每次遍历前都应该判断根节点是否存在。这样就完美了。/*struct TreeNode { int val; struct Tr

2016-05-09 21:57:39 799

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

题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*///第一种想法,全部取出来,然后排序放回,不可行class

2016-05-09 10:08:44 486

原创 《剑指offer》-反转链表

题目描述输入一个链表,反转链表后,输出链表的所有元素。/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* ReverseList(Li

2016-05-06 22:01:44 333

原创 《剑指offer》-数值的整数次方

题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。class Solution {public: double Power(double base, int exponent) { bool flag = true; if(exponent == 0) retu

2016-05-04 20:34:02 350

原创 《剑指offer》-二进制中1的个数

题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。思路:相与到0为止,就可以。相与就相当于-1操作class Solution {public: int NumberOf1(int n) { if(!n) return 0; int count = 0; //while(n) {

2016-05-04 20:04:00 319

原创 《剑指offer》-矩形覆盖

题目描述我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?class Solution {public: int rectCover(int number) { if(number < 2) return 1; return rectCover(number-1)

2016-05-04 19:33:58 252 1

虚拟视点绘制软件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关注的人

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