自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 资源 (3)
  • 收藏
  • 关注

原创 2013百度笔试 求字符串中连续出现相同字符的最大值

题目完整描述为:用递归的方式实现一个求字符串中连续出现相同字符的最大值,如aaabbcc,连续出现a的最大值为3,abbc,连续出现字符最大的值为2。

2014-08-28 19:37:51 885

原创 整数相乘方法

题目:整数的相乘,由于整数相乘的结果knen

2014-08-22 15:19:13 1064

原创 程序员面试宝典字符串中连续出现次数最多的子串

题目:求解字符串中连续出现

2014-08-19 16:06:12 909

原创 字符串匹配算法

1.暴力匹配算法2.KMPKMP算法mi//字符串匹配算法#include using namespace std;//暴力匹配方法bool ismatch(char *a,char *b){ int alen=strlen(a); int blen=strlen(b); int i=0; int j=0; while(i<alen&&j<blen) { if

2014-08-17 22:17:23 615

原创 深入探索对象模型 第四章 function语意学

C++支持三种类型的member functions:static,nonstatic和virtual,每一种类型被调用的方式都不同。1、Member的各种调用方式原始的“C with classes”只支持nonstatic member functions。Virtual函数是在20世纪80年代中期被加进来的,并且很显然受到许多质疑。Static member func

2014-07-31 14:31:01 796

原创 几种常见的排序算法

1.插入排序2.希尔排序3.冒泡排序4.快速pa

2014-07-23 09:06:12 566

原创 第四十八题 二叉搜索数与双向链表

题目:将二叉搜索数的节点转换为双向链表的形式

2014-07-15 22:36:17 673

原创 第四十七题 从1到n整数中1出现的次数

题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。例如输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次。思路方法:见编程之美13

2014-07-09 20:02:37 780

原创 第四十六题 复制链表

题目:二叉树节点定义struct ComplexListNode{int                 m_nValue;ComplexListNode*    m_pNext;ComplexListNode*    m_pSibling;};

2014-06-27 20:15:00 803

原创 第四十五题 包含min函数的栈

题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。

2014-06-27 20:03:53 673

原创 第四十四题 顺时针打印矩阵

题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。例如:如果输入如下矩阵:1              2              3              45              6              7              89              10           11           1213   

2014-06-27 19:59:17 637

原创 2014谷歌开发者大会发布安卓相关系统

Android L 操作系统首先是界面,谷歌重新设计了一套 UI 规范,并称之为“Material Design”,这种语言风格从一些人们常用的物品中汲取灵感,比如纸张和墨水的晕染,让屏幕空间得到最佳应用,提供尽量多的资讯信息,并且可以在智能手机、平板或桌面上提供统一的设计界面。具体风格上看,Material Design 大量使用了圆形和圆角的扁平化设计,更多的操作是通过滑动完成而不

2014-06-26 22:38:12 866

原创 第四十三题 通过前序遍历和中序遍历构建二叉树

题目:通过树的前序遍历和中序遍历来确定树的结构并输出

2014-06-25 20:21:27 668

原创 第四十二题 树的子结构

题目:二叉树的结点定义如下:struct Tree{        int m_value;        TreeNode* m_left;        TreeNode* m_right;};输入两棵二叉树A和B,判断树B是不是A的子结构。例如,下图中的两棵树A和B,由于A中有一部分子树的结构和B是一样的,因此B就是A的子结构。

2014-06-24 18:40:06 581

原创 推荐一下程序员面试书籍

《C++ Primer》第四版《C++ Primer》第五版 :前12章 《C++标准库自学教程与参考手册第二版》英文版《C++数据结构》《C++ STL基础及应用》《Effetive C++》《C++ 模板》:前10章《More EffetiveC++》《深入探索C++对象模型》:前3章《Windows 核心编程》《设计模式》《编程之美》《程序员面

2014-06-24 13:48:56 842

原创 第四十一题 字符串中替换空格

题目:将字符串中的空格替换为%20,如We are

2014-06-24 13:46:33 531

原创 深入探索C++对象模型 第三章 Data语意学

1、类对象大小受三个因素影响a、virtual base和virtual function带来的vptr影响 b、 EBO (Empty Base class Optimize)空基类优化处理,EBC(Empty Base Class)占用一个字节,其他含有数据成员的从EBC派生的派生类,只会算自己数据成员的大小,不受EBC一字节的影响 c、alignment 字节对齐2、No

2014-06-23 14:11:37 750

原创 深入探索C++对象模型 第二章 构造函数语意学

1.   Jerry Schwarz,iostream函数库建构师,曾为了让cin能够求得一个真假值,于是他为它定义了一个conversion运算符operator int()。但在语句cin 中,其行为出乎意料:程序原本要的是cout而不是cin!但是编译器却找到一个正确的诠释:将cin转型为整型,现在left shift operator 就可以工作了!这就是所谓的“Schwarz

2014-06-23 14:09:56 934

原创 第四十题 不用+、-、×、÷做加法

题目:如5的二进制是101,17的二进制10001。还是试着把计算分成三步:第一步各位相加但不计进位,得到的结果是10100(最后一位两个数都是1,相加的结果是二进制的10。这一步不计进位,因此结果仍然是0);第二步记下进位。在这个例子中只在最后一位相加时产生一个进位,结果是二进制的10;第三步把前两步的结果相加,得到的结果是10110,正好是22。由此可见三步走的策略对二进制也是管用的

2014-06-23 14:07:57 695

原创 Effective C++前10个条款

导读:1.explicit:构造函数声明为explicit,避免隐式类型转换,依然可以显示类型转换。禁止编译器执行非预期的类型换转。2.Pass-by-Value: 会调用拷贝构造函数,因此对于自定义的类型,最好Pass-by-Reference01 视C++为一个语言联邦:

2014-06-17 22:31:14 628

原创 深入探索C++对象模型 第一章 关于对象

1、为了实现兼容性,在C++中,struct==class,两个关键字对于编译器来说在大部分的地方是完全一样的可以互相的替代(在template的定义中有个定义,类似于 template,因为模板并没有打算兼容C,所以这里的class并不能用struct,也许是为了避免这种矛盾,所以后来用typename来替代了class ),因此当你看到这样的声明: class node; 而见到了这样的定

2014-06-17 22:22:32 736

原创 第三十九题 关于C++中类的对象的大小

#include #include #include using namespace std;class A{};class B{public: B() {} ~B() {}};class C{public: C() {} virtual ~C() {}};int main(){ printf("%d, %d, %d\n", sizeof(A), s

2014-06-17 22:16:29 712

原创 C++ 默认参数函数

函数的默认参数值,即在定义参数的时候同时给它一个初始值。在调用函数的时候,我们可以省略含有默认值的参数。也就是说,如果用户指定了参数值,则使用用户指定的值,否则使用默认参数的值。 void Func(int i = 1, float f = 2.0f, double d = 3.0){    cout }int main(void){    Func() ; //

2014-06-09 20:43:23 660

原创 第三十八题 C++面试题

题目(一):我们可以用static修饰一个类的成员函数,也可以用const修饰类的成员函数(写在函数的最后表示不能修改成员变量,不是指写在前面表示返回值为常量)。请问:能不能同时用static和const修饰类的成员函数?分析:答案是不可以。C++编译器在实现const的成员函数的时候为了确保该函数不能修改类的实例的状态,会在函数中添加一个隐式的参数const this*。但当一个成员

2014-06-06 23:19:22 614

原创 第三十七题 求取二叉树中节点的最低公共节点

题目:二叉树的结点定义如下:struct TreeNode{    int m_nvalue;    TreeNode* m_pLeft;    TreeNode* m_pRight;};输入二叉树中的两个结点,输出这两个结点在数中最低的共同父结点思路:求取2个节点的公共节点,rugu

2014-06-05 22:44:15 566

原创 第三十六题 标准库字符操作函数的实现

#include #include using namespace std;char *strcpy(char *dst,char *src){ assert(dst!=nullptr&&src!=nullptr); if (dst==src) { return dst; } char *returnstr=dst; while ((*dst++=*src++)!='\0'

2014-05-29 22:04:50 727

原创 第三十五题 用C++设计一个不能被继承的类

首先想到的是在C++ 中,子类的构造函数会自动调用父类的构造函数。同样,子类的析构函数也会自动调用父类的析构函数。要想一个类不能被继承,我们只要把它的构造函数和析构函数都定义为私有函数。那么当一个类试图从它那继承的时候,必然会由于试图调用构造函数、析构函数而导致编译错误。可是这个类的构造函数和析构函数都是私有函数了,我们怎样才能得到该类的实例呢?这难不倒我们,我们可以通过定义静态来创建和释

2014-05-29 19:02:23 638

原创 第三十五题 赋值操作符函数

题目:类CMyString的声明如下:class CMyString{public:      CMyString(char* pData = NULL);      CMyString(const CMyString& str);      ~CMyString(void);      CMyString& operator = (const CMyString& s

2014-05-29 18:47:03 628

原创 第三十四题 求取一个数的n次方

题目:就是求取一个数的n次方,不考虑yichu

2014-05-29 15:57:43 1059

原创 第三十三题 输出容器中3个不同的数

题目:用C++设计一个不能被继承的类首先想到的是在C++ 中,子类的构造函数会自动调用父类的构造函数。同样,子类的析构函数也会自动调用父类的析构函数。要想一个类不能被继承,我们只要把它的构造函数和析构函数都定义为私有函数。那么当一个类试图从它那继承的时候,必然会由于试图调用构造函数、析构函数而导致编译错误。

2014-05-24 16:33:59 711

原创 第三十二题 多种方法来判断字符串中是否出现了相同字符

题目:判断字符串中是否出现了一样的字符,如abcda,则

2014-05-15 19:24:27 1268

原创 第三十一题 输出字符串字符的几种组合

题目:输入一个字符串,输出该字符串中字符的所有组合。举个例子,如果输入abc,它的组合有a、b、c、ab、ac、bc、abc。

2014-05-15 19:02:38 626

原创 第三十题 从1开始顺序输出n位的整数

题目:输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999//输出n位的数,用这种方法可以防止出现越界#include #include using namespace std;void printDecimal(int n){ if(n <= 0) return; string str = "1"; while(str.s

2014-05-13 11:26:07 846

原创 第二十九题 在字符串中删除指定字符

题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”abcd”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”。

2014-05-12 11:24:21 838

原创 第二十八题 在O(1)时间内删除指定节点

讲述程序员面试题,给出的代码都在VS2012中执行过,欢迎大家交流指正

2014-05-09 14:21:10 941

原创 第二十七题 数组中只出现1次的2个数

题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)

2014-05-08 10:33:40 566

原创 第二十六题 调整数组顺序使奇数位于偶数前面

调整数组顺序使奇数位于偶数前面

2014-05-07 14:34:42 560

原创 第二十五题 求取字符串的排练组合输出

题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则输出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。

2014-05-07 13:46:55 614

原创 第二十四题 求取树的深度

//求取树的深度#include using namespace std;struct treenode{ treenode *m_left; treenode *m_right; int value;};//定义一个平衡二叉树void maketree(int value,treenode *&ptr){ if (ptr==nullptr) { treenode

2014-05-06 22:14:42 634

原创 第二十三题 求取和为n的连续的数

//求取和为定值的连续的数#include using namespace std;//输出beg和end之间的数void printcount(int beg,int end){ for (int i=beg;i<=end;++i) { cout<<i<<" "; } cout<<endl; return;}void FindContinuousSequence(in

2014-05-04 22:12:26 782

2014阿里巴巴实习生招聘笔试题目

2014阿里巴巴实习生招聘笔试题目,主要是分享给大家学习学习

2014-04-29

C++ google 编程规范中文版

google 编程规范中文版,一本很好的讲述C++编程规范的书,共同学习

2014-04-08

空空如也

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

TA关注的人

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