自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

flyinghearts的专栏

flyinghearts#qq.com 新博客地址: www.cnblogs.com/flyinghearts

  • 博客(5)
  • 收藏
  • 关注

原创 深拷贝从“new”说起

2010-06-17 00:40:00 1643

原创 浅析类的“深拷贝”

㈠ new的基本知识:先说说new操作符:new有三种:new、operator new和placement new。 new是通过调用operator new这个库函数来实现内存分配的。new申请内存失败的话,会抛出异常std::bad_alloc,且返回值不为0,当然也可以指定不抛异常的new。直接new一个对象,对象是否初始化,与定义一个同类对象相似:new X;      //调用类X的默认构造函数new X(x)    //调用类X的构造函数用x来初始化。newint      //变量未被初始化

2010-06-16 00:40:00 2765 1

原创 3.1_计算字符串移位包含问题

<br />3.1_计算字符串移位包含问题<br /> <br />这是一道字符串匹配题。不知道C库的strstr采用什么算法。<br />对字符串匹配,最低效的是暴力搜索。稍好的是KMP算法,效率最高的则是BM算法。<br />该题特殊在于:目标串长度是匹配串的两倍。Sunday算法虽然在实际应用中效率很高,但仅限于匹配串比较短时。BM的某一变种算法(基于suffix automaton)倒是实现了预处理和搜索都是0(n)的,但是实现起来有点复杂。<br />  既然是判断是否移位包含,可以用两个数组,分

2010-06-15 23:13:00 1327

原创 微软面试题: 找出二叉树上任意两个结点的最近共同父结点。

<br /> <br />找出二叉树上任意两个结点的最近共同父结点。<br /> <br /> <br /> <br />要求两节点的最近共同父节点(LCA,lowest common ancestor),可以采用树的后序遍历。如果这两个节点不在一条线上,则它们必定分别在所求节点A的左子树和右子树上,后序遍历到第一个满足这个条件的节点就是所要求的节点A。另外,当这两个节点在一条线上,所求节点A则是这两个节点中层次最低的节点的父节点。<br /><br /><br />static bool lca(Node

2010-06-12 10:42:00 9098 7

原创 Trilogy公司的笔试题:用最少的步骤将数转为1

Trilogy公司的笔试题:如果n为偶数,则将它除以2,如果n为奇数,则将它加1或者减1。问对于一个给定的n,怎样才能用最少的步骤将它变到1。最简单的方法就是用DP。设f(n)为所用的最少步骤。根据定义可得:若n为偶数, f(n)=f(n/2) + 1;若n为奇数, f(n)= min(f(n-1), f(n+1)) +1                     = min(f((n-1)/2), f((n+1)/2)) +2或者: f(2*k)=f(k)+1  f(2*k+1)=min(f(k),f(k+

2010-06-12 10:15:00 2057 1

空空如也

空空如也

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

TA关注的人

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