自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tractor_man的专栏

很多时候不是我们做不好,而是没有竭尽全力......

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

原创 解决VS2008程序的由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题"

在VS2008下面,写了一个console程序,生成Release版本。然后放到一个装有windows XP的机器上运行。出现下面的错误:由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题。项目-》属性-》配置属性-》常规-》MFC的使用,选择"在静态库中使用mfc"。这样生成的exe文件应该就可以在其他机器上跑了。

2014-12-04 21:38:48 474

原创 【八十一题题目合集 微软面试100题 第八十一题】

题目要求:  问题1:在一个int数组里查找这样的数,它大于等于左侧所有数,小于等于右侧所有数。  问题2:一个文件,内含一千万行字符串,每个字符串在1k以内,要求找出所有相反的串对,如abc和cba。  问题3:STL的set用什么实现的?为什么不用hash?题目分析:  问题1分析:    假设int数组为data[]。    用两个数组

2014-11-24 18:42:28 500

原创 排队问题 【微软面试100题 第八十题】

题目要求:  12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列的方式有多少种?问题分析:

2014-11-24 16:44:24 467

原创 第七十九题合集 【微软面试100题 第七十九题】

题目要求:  问题1:编写实现链表排序的一种算法。  问题2:编写实现数组排序的一种算法。  问题3:编写能直接实现strstr()功能的代码。问题分析:  问题1分析:    方法1 首先想到的是冒泡排序,因为简单;    方法2 如果内存空间允许,可以通过一个数组来辅助排序,时间复杂度O(NlogN),但是需要耗费空间复杂度.具体如下:

2014-11-24 16:12:48 631

原创 链表和数组的区别在哪里 【微软面试100题 第七十八题】

题目要求:  链表和数组的区别在哪里?题目分析:  数组静态分配内存,链表动态分配内存;    数组预先定义长度,链表预先无需管理长度;  数组在内存中连续,链表可能连续;  数组元素在栈区,链表元素在堆区;  数组利用下标定位,时间复杂度为O(1),链表定位元素时间复杂度O(n);  数组插入或删除元素的时间复杂度O(n),链表的时间复杂度O(1)

2014-11-24 14:50:33 423

原创 20141124

今天和哥们去医院看病号,电梯里全是人,突然想捉弄他一下,就对他说:你那包皮手术做了吗?然后全电梯人都看他,我心里一阵坏笑。那哥们却是淡定的看着我说:那个病人的手术安排在下午,我给他做完马上给你安排时间,让你等这么长时间,真不好意思啊!

2014-11-24 13:40:11 365

原创 关于链表问题的面试题目 【微软面试100题 第七十七题】

题目要求:  1.给定一个单链表,检测是否有环;  2.判断两个无环单链表是否有交点;  3.给定两个单链表,检测两个链表是否有交点;  4.给定单链表,如果有环的话请返回从头结点进入环的第一个结点;  5.只给定单链表中某个结点p(并非最后一个结点,即p->next!=NULL)指针,删除该结点;  6.只给定单链表中某个结点p(非空结点),在p前

2014-11-23 16:43:54 650

转载 【转】快速成为优秀程序员的十个有效方法

文章转载自:爱思资源网 http://www.aseoe.com/show-63-426-1.html

2014-11-23 15:23:51 482

原创 复杂链表的复制 【微软面试100题 第七十六题】

题目要求:  一个复杂链表,其结点除了有一个m_pNext指针指向想一个结点外,还有一个m_pSibling指向链表中的任一结点或NULL,其结点的C++定义为: typedef struct ComplexNode{ int m_nValue; ComplexNode *m_pNext; ComplexNode *m_pSibling;}Complex

2014-11-23 14:20:32 457

原创 二叉树两个结点的最低公共父结点 【微软面试100题 第七十五题】

题目要求:  输入二叉树中的两个结点,输出这两个及诶单在数中最低的共同父结点。题目分析:  还有一种情况:如果输入的两个结点中有一个或两个结点不在二叉树中,则输出没有共同父结点;  因此,可以在程序中定义一个flag=0,找到一个点之后flag就加1,最后判断的时候,如果flag=2,则说明在二叉树中找到了输入的两个结点。代码实现:  #in

2014-11-23 13:40:15 353

原创 20141123

结婚多年,睡到半夜,老公突然转过身紧紧抱住老婆说,老婆:这辈子太短了,老婆醒了过来,听到老公这句话,感动的掉下了泪水,老公接着说:我都他妈盖不到脚。

2014-11-23 13:02:46 363

原创 数组中超过出现次数一半的数字 【微软面试100题 第七十四题】

问题要求:  数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字。  参考资料:编程之美2.3 寻找发帖水王问题分析:  方法1 对数组排序,然后顺次查找其中最多的;  方法2 对数组排序,最中间一个肯定为要找的数字,时间复杂度O(NlogN);  方法3 每次消去数组中两个不同的数,最后剩下的肯定为要找的数字,时间复杂度O(N).

2014-11-23 09:23:26 780

原创 20141122

吃晚饭的时候,父亲突然抬头跟我说:我今天帮你拿了块地……我突然一顿,长久以来的一个念头顿然冒了出来!我就知道我其实是隐形富二代!之前的贫困都是家里为了磨砺我!时机终于成熟了!于是我强忍住内心的激动,用尽量平和又不经意的语气问到:“哦,哪块地?”……“顺丰快递”

2014-11-22 23:39:28 347

原创 对称字符串的最大长度 【微软面试100题 第七十三题】

题目要求:  输入一个字符串,输出该字符串中对称的子字符串的最大长度。比如输入字符串"google",由于该字符串里最长的对称子字符串"goog",因此输出4.题目分析:  代码实现:  #include int LongestPalindrome(const char *s, int n);int main(void ){ printf( "

2014-11-22 23:15:58 361

原创 Singleton模式类 【微软面试100题 第七十二题】

题目要求:  实现C++单例模式,即只能生成一个实例的类。题目分析:  1.一般情况:用构造函数私有化和静态函数实现。  2.如果考虑内存泄露:用智能指针+一般情况方法。  3.如果考虑线程安全:加锁。代码实现:  //一般情况#include #include #include using namespace std;class

2014-11-22 23:05:05 409

转载 【转】PC-Lint的使用方法

PC-Lint是一款C/C++软件代码静态分析工具,不仅可以检查一般的语法错误,还可以检查潜在的错误,比如数组访问越界、内存泄漏、使用未初始化变量、使用空指针等。在单元测试前使用PC-Lint来检查代码,可以提前发现程序中的潜在的错误,提高代码的质量。本文主要从两个方面介绍PC-lint,第一部分是在与不同的工具安装集成,第二部分是PC-lint的使用方法。1. 安装PC-lint

2014-11-22 22:45:45 670

原创 数值的整数次方 【微软面试100题 第七十一题】

题目要求:  实现函数double Power(double base,int exponent),求base的exponent次方。  不得使用库函数,不需要考虑溢出。  参考资料:剑指offer第11题。题目分析:  考虑情况:    1.底数为0,指数为非负;    2.底数为0,指数为负;    3.底数非0,指数为负;

2014-11-22 22:44:07 423

原创 书籍阅读及下载链接

2014.11.5~2014.11.7    《别闹了,费曼先生》下载链接:2014.11.17~2014.11.  《天才在左,疯子在右》 下载链接:

2014-11-18 17:13:31 427

原创 旋转数组中的最小元素 【微软面试100题 第六十九题】

题目要求:  把一个不降序数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1。  参考资料:剑指offer第8题。题目分析:  情况1 如果数组中有相等的元素,则不能使用二叉查找,只能顺序遍历;

2014-11-18 16:40:03 421

原创 把数组排成最小的数 【微软面试100题 第六十八题】

题目要求:  输入一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的一个。  例如输入数组{32,321},则输出这两个能排成的最小数字32132.  请给出解决问题的算法,并证明该算法。  参考资料:剑指offer第33题。  链接:http://zhedahht.blog.163.com/blog/static/25411174200

2014-11-18 15:37:22 389

原创 两个闲玩娱乐 【微软面试100题 第六十七题】

题目要求:  1.扑克牌的顺子    从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2-10为数字本身,A为1,J为11,Q为12,K为13,而大小王可以看成任意数字。    参考资料:剑指offer第44题。  2.骰子游戏    n个骰子的点数。把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。    输入n,打印出S的所

2014-11-18 10:28:27 478

原创 颠倒栈 【微软面试100题 第六十六题】

题目要求:  用递归颠倒一个栈。  例如输入栈{1,2,3,4,5},1在栈顶。颠倒之后的栈为{5,4,3,2,1},5处在栈顶。题目分析:  令函数申明为:void ReverseStack(stack oldStack); 代码实现:

2014-11-18 09:50:15 377

原创 输出1到最大的N位数 【微软面试100题 第六十五题】

题目要求:  输入数字n,按顺序输出从1到最大的n位10进制数。  例如,输入3,则输出1、2、3...、999(最大的3位数)。  参考资料:剑指offer第12题。题目分析:  如果我们在数字前面补0的话,就会发现n位所有十进制数其实就是n个从0到9的全排列。也就是说,我们把数字的每一位都从0到9排列一遍,就得到了所有的十进制数。只是我们打印的时候,数字

2014-11-17 22:18:30 396

原创 寻找丑数 【微软面试100题 第六十四题】

题目要求:  我们把只包含因子2、3和5的数称为丑数。例如6、8都是丑数,但是14不是,因为它包含因子7.  习惯上我们把1当作是第一个丑数。  求按从小到大的顺序的第1500个丑数。  参考资料:剑指offer。题目分析:  方法1 从1开始逐个遍历整数,每个整数如果包含2、3和5中的任何一个因子就除以该因子(包含多个就除以多个,直到不含2、3和5

2014-11-17 22:00:06 427

原创 在字符串中删除特定的字符 【微软面试100题 第六十三题】

题目要求:  输入两个字符串,从第一个字符串中删除第二个字符串中所有的字符。例如,输入"They are students."和"aeiou",则删除之后的第一个字符串变成了"Thy r stdnts.".题目分析:  1. 把第二个字符串的所有字符都存入一个set中;  2. 遍历第一个字符串的每个字符,同时判断是否该字符在set中,如果在就用后面不在set中且靠

2014-11-17 13:03:46 398

原创 找出链表的第一个公共结点 【微软面试100题 第六十二题】

题目要求:  两个无环单向链表,找出它们的第一个公共结点。  参考资料:剑指offer第37题。题目分析:  代码实现:  #include using namespace std;typedef struct ListNode{ struct ListNode *next; int data;}ListNode;vo

2014-11-17 11:04:58 354

原创 找出数组中两个只出现一次的数字 【微软面试100题 第六十一题】

题目要求:  一个整型数组里除了两个数字机之外,其他的数字都出现了两次。  请写程序找出这两个只出现一次的数字。要求时间复杂度O(N).空间复杂度O(1).  参考资料:剑指offer第40题。题目分析:  已知:    1.两个相同的数字异或的结果为0,即a^a = 0.    2.两个不相同的数字异或的结果的二进制中某一位为1,则这两个数

2014-11-17 10:20:07 336

原创 在O(1)时间内删除链表结点 【微软面试100题 第六十题】

题目要求:  给定链表的头指针和一个结点指针,在O(1)时间删除该结点。  参考资料:剑指offer第13题。题目分析:  有几种情况:    1.删除的结点是头结点,且链表不止一个结点;    2.删除的结点是头结点,且链表只有一个结点;    3.删除的结点是尾结点,且链表不止一个结点;    4.删除的结点不是头也不是尾结点;

2014-11-16 11:48:12 348

原创 不能被继承的类 【微软面试100题 第五十九题】

题目要求:  用C++设计一个不能被继承的类。  参考资料:剑指offer第48题。题目分析:  方法1:把构造函数设为私有函数,定义共有的静态函数来创建和释放类的实例;  方法2:利用虚拟继承和友元;代码实现:  //把构造函数设为私有函数,定义共有的静态函数来创建和释放类的实例class Temp{public: static

2014-11-16 11:09:00 369

原创 从尾到头输出链表 【微软面试100题 第五十八题】

题目要求:  输入一个链表的头结点,从尾到头反过来输出每个结点的值。  参考资料:剑指offer第5题。题目分析:  可以用栈或者递归。  栈把链表结点从头到尾依次存储,这样最终栈顶就是链表尾部。  递归,对于当前结点,可以用递归输出当前结点之后的结点,再输出当前结点。代码实现:  #include #include using

2014-11-16 10:53:55 319

原创 用两个栈实现队列 【微软面试100题 第五十七题】

题目要求:  某队列的声明如下:  template class CQueue  {   public:    CQueue() {}    ~CQueue() {}    void appendTail(const T& node); // append a element to tail    void deleteHead(); // remove

2014-11-12 23:39:45 337

原创 最长公共子序列 【微软面试100题 第五十六题】

题目要求:  如果字符串一的所有字符按其在字符串中的顺序出现在另外一个字符串中,则字符串一称为字符串二的子串。  注意,并不是要求子串(字符串一)的字符必须连续出现在字符串二中。  请编写一个函数,输入两个字符串,求它们的最长公共子序列,并打印出最长公共序列。  例如:输入两个字符串BDCABA和ABCBDAB,字符串BCBA、BDAB和BCAB都是它们的最长公共子序列,则输出

2014-11-11 19:38:55 914

原创 C++异常安全的赋值运算符重载 【微软面试100题 第五十五题】

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

2014-11-11 18:35:58 446

原创 调整数组顺序使奇数位于偶数前面 【微软面试100题 第五十四题】

题目要求:  输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。  要求时间复杂度为O(n).  参考资料:剑指offer第14题。题目分析:  使用两个指针,pBegin和pEnd,pBegin从开头往后遍历,pEnd从结尾往前遍历,当pBegin遇到偶数和pEnd遇到奇数时,交换两个数,然后继续遍历,直到

2014-11-11 18:19:28 292

原创 字符串的排列 【微软面试100题 第五十三题】

题目要求:  输入一个字符串,打印出该字符串中字符的所有排列。  例如输入字符串abc,则输出字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab、cba。  参考资料:剑指offer第28题。题目分析:  1. 输出的字符串必须包含原字符串的所有字符,只是字符顺序换了;  2. 考虑有字符重复的情况;  3. 思路是

2014-11-11 15:37:44 354

原创 二元树的深度 【微软面试100题 第五十二题】

题目要求:  输入一颗二叉树的根结点,求该树的深度。  从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。  如     3    /    \   4    \     2,深度为3  参考链接:剑指offer第39题。题目分析:  用递归的方式从根结点开始,遍历其左右结点,较

2014-11-11 14:08:07 338

原创 十个最值得阅读学习的C开源项目代码

1. Webbench        Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/~cz210552/we

2014-11-08 22:46:42 499

原创 和为n连续正数序列 【微软面试100题 第五十一题】

题目要求:  输入一个正数n,输出所有和为n连续正数序列(至少两个)。  例如输入15,由于1+2+3+4+5 = 4+5+6 = 7+8 = 15.所以输出3个连续序列1~5,4~6,7~8.  参考资料:剑指offer第41题。题目分析:  由题意可知:从1~n中找连续的整数序列。  可以用两个变量small和big表示一个区间small~big

2014-11-08 22:38:00 344

原创 一道看上去很吓人的算法题 【微软面试去100题 第四十九题】

题目要求:  如何对n个数进行排序,要求时间复杂度O(N).空间复杂度为O(1).题目分析:  严格的说,这道题给出的条件不全。如果这n个数字的大小跨度很大(1~无穷大),则肯定达不到要求。  如果n个数字的大小在一定范围内(如0~65535),则可以用hash表的方法。定义为int hash[65536],占用的内存空间固定为sizeof(int)*65536,则

2014-11-08 22:20:33 346

原创 在左移的递减数组中查找某数 【微软面试100题 第四十八题】

题目要求:  一个数组是由一个递减数列左移若干位形成的,比如{4,3,2,1,6,5}是由{6,5,4,3,2,1,}左移两位形成的,在这种数组中查找某个数。题目分析:  方法1 逐个查找,遍历一遍数组,时间复杂度O(N).  方法2 二分查找,时间复杂度O(logN).具体分析见下图: 代码实现: #include using

2014-11-08 21:45:52 434

一个程序员的奋斗史

这是一本程序员写给程序员的小说。本书描写了一位刚从大学毕业,对社会懵懵懂懂的菜鸟程序员段伏枥,通过自身的努力,一步一步前行,最后成为技术高手,并荣获微软最有价值专家的故事。书中不仅有初涉社会时的无奈,也有苦中作乐的愉悦,更有同事间的勾心斗角,是当今IT职场的一个缩影。

2014-11-18

计算机网络手写笔记【谢希仁】

手写版计算机网络笔记【谢希仁编著】,配合TCP/IP详解卷一,可应付常见的计算机网络面试问题。

2014-11-18

空空如也

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

TA关注的人

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