自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 2016年总结

转眼间,2016年就已经到了年尾,年初给自己定的目标,基本完成了,拥有了自己挺喜欢的一份工作,和自己一个很爱的女孩。回想起年初早早的来到学校复习面试的那段时间,我总觉得自己在人生比较重要的转折点,把握的很好。早九晚十的生活,让我拥有了不仅充足的时间来学习,那段放假的日子更是让我能不受学校的事情打扰,每天都有一份进步,每天都在看原本自己不明白不懂的事情。让我能在2015年末所受的打击,所定的计划

2016-12-19 21:14:02 373 2

原创 重建二叉树

题目:给定一棵二叉树的前序和中序遍历的序列,然后根据这个序列重建一棵二叉树。这个题主要考察对二叉树的熟悉程度以及如何使用这两种遍历来得出最终的二叉树的过程。首先,可以根据前序遍历的第一个节点来确定整棵树的根节点,然后用此节点的值在中序中寻找,中序遍历中这个值的左边的序列就是左子树,右边的序列就是右子树然后递归调用即可得出最终的二叉树。看代码#include using names

2016-05-07 09:14:50 723

原创 将一个链表从后到前进行打印

题目是:有一个链表,需要从后到前将其节点内的值进行打印一份,我们知道单链表的访问是从头结点开始,一个一个向后访问,如果想要首先输出尾节点的话,就要将链表访问过的这些值存起来,然后最后再倒序输出即可,此时,应用栈是一个非常不错的想法。#include #include using namespace std;struct listNode{ int value; lis

2016-05-07 08:35:46 441

原创 寻找二维矩阵里的一个数

题目是:一个二维矩阵,给一个数,判断这个数存不存在于这个矩阵当中,当然,这个矩阵也是一个有规律的矩阵。即从上往下,从左往后都是递增的。最普通的就是从上到下,从左到右一个一个的进行判断寻找。这时,在最坏情况下,就得将整个矩阵轮训一遍。那么时间复杂度就为O(N),那么可不可以减少呢?就要从这个矩阵的特殊地方开始了。因为这个矩阵是从上到下,从左到右递增的,那么我们可以首先将第一行最后一列的元素和

2016-05-07 08:25:28 890

原创 填补空格

题目大意是这样的:有一个字符串"we are happy"将其中的空格替换成"%20"然后输出是“we%20are%20happy”即可。这个题一般有这样的解法,一个是将字符串进行轮训,遇到一个空格,将空格后的字符向后挪2个字符,然后插入%20即可,然后继续轮训到下一个空格,再将空格后的字符串向后挪2位,等等,一直到所有的空格都被替换。这个算法的复杂度为O(N2)。另一个解法,将字符串先轮

2016-05-06 22:25:13 673

原创 用两个栈实现一个队列

面试题中,用两个栈来实现一个队列是一个经常被问到的问题。这个题的主要思想是一个栈用来插入,另一个栈用来转出,在转出前,如果转出栈为空,则必须将插入栈内的元素先放到转出栈中,然后弹出元素,如果不为空,则直接将转出栈内的元素弹出即可。而插入则没有这么多繁琐的步奏,直接向插入栈中插入元素即可看代码。#include #include using namespace std;cl

2016-05-06 22:13:01 341

原创 单例模式

单例模式是一个经常被面试官问道,并且让被面试者现场写的一个题目,单例模式主要就是让整个程序从始到终就只有一个对象存在,就像windows里面的任务管理器,在系统启动的过程中,就只能存在一个。单利模式的书写主要就是一个静态对象,一个可以调用并生成该对象的方法,以及隐藏构造函数,拷贝构造函数,重载赋值操作符等。下面贴代码#include #include #include using

2016-05-06 14:45:56 527

原创 为string类添加一个赋值运算符函数

面试中经常会被要求写一个string类,其实通过写string类就可以看出来一个人对C++的掌握能力。其实写string类主要就是看赋值运算符的重载函数的写法。在这里我自己实现了两种。如果大家有更好的办法请给我留言。#include #include #include using namespace std;class cstring{ public: cstr

2016-05-06 01:24:42 2048

原创 linux hostname 和hostname -i问题

今天在使用tcpdump的时候,遇到了需要主机名的时候,然后我就hostname了一下,查出来了我的主机名bogon,我想着有个自己独有的主机名haiming,在/etc/hosts文件内进行了修改,修改完成后,主机名仍然没有被改掉。试了好几次,都不行,google了一下之后,突然发现还有/etc/sysconfig/network 这个文件,在修改了这个文件之后,我试了一下,主机名还是没

2015-12-26 13:08:51 28828

原创 leetcode 1 Two Sum

Given an array of integers, find two numbers such that they add up to a specific target number.The function twoSum should return indices of the two numbers such that they add up to the target, whe

2015-11-27 12:54:06 377

原创 leetcode 7 Reverse Integer

Reverse IntegerReverse digits of an integerExample1 : x = 123,  return 321Example2:  x = -123,  return -321;Here are some good questions to ask before coding. Bonus points for you if you h

2015-10-30 17:14:16 311

原创 leetcode 6 ZigZag Conversion

我的leetcode刷题之路就从此时开始,令我没想到的是,我专门挑了一个被标记为easy的开始,但是给我的感觉却是并不easy 费了不少的功夫才搞定他,下面就对此题开始详细说明:problem:the string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this :(you

2015-10-29 19:06:36 361

原创 小米2015校园招聘西安站

题目要求:一条直线上有N条线段,已知它们的两个端点,请完成以下代码(两种语言任挑其一),计算这些线段共覆盖了多大的长度(被多条线段覆盖的部分职能计算一次)。Segment:{[1,9],[5,10]} Sum = 9;Segment:{[1,3],[10,15]} Sum = 7;Segment:{[1,3],[2,5],[10,15]} Sum = 9;C/C++

2015-10-27 12:54:37 633

原创 linux畅聊系统乱码问题

使用基于udp协议而做的一个linux畅聊系统,在client端,使用ncurses对窗口进行划分,分为四个窗口,每个都有其不同的功能,但是在client端启动的时候却遇到了乱码的问题,如下图所示。显示的很恶心,基本上不能辨别各个部分的功能。在我对ncurses进行一番百度后,发现他并不支持线程安全,也就是对同一资源,我多个线程进行访问,造成了资源的混乱。后来通过加互斥

2015-10-20 18:39:11 546

原创 关于gcc编译产生可调试文件的打印变量问题

最近写了一个小程序,内部变量的改变自己不是很清楚,所以想使用gdb调试器来查看变量的改变过程,进而对其有一个更好地把握。但是在gcc编译加上-g选项后,进入gdb调试,却怎么也打印不出来变量的值,最初是出现No symbol "xxx" in current context 后来经过查资料后,了解到这个可能是由于gcc编译的时候优化造成的,对局部变量进行寄存器存值运算,以及变量是否涉及到公

2015-10-16 21:58:53 1777 1

原创 单词翻转。

面试题。要求将一句话中的单词不变,但是单词的顺序在句子中翻转。主要的思想就是将句子中的单词进行翻转,然后再将整个句子中的字符进行翻转,就可以达到效果。eg:I am a boy   --> I ma a yob -->boy a am I其实这就是两个函数的作用,一个是分离单词的,一个是反转单词的。代码如下:#include using namespace std;

2015-09-23 20:44:12 714

原创 求一个数组中第k大的数,要求不能另外申请空间,数组顺序不能被改变

这是一道今日头条的面试题,当面试官提出这样一道题目时。我想相信,大多数人都会这样反应1.是不是可以先排一下序,然后再求第k大的,然后就想到数组顺序不能被改变,然后否定了2.是不是可以用小堆来做。我创建一个堆大小为k的小堆,然后把这些数据全部扔进小堆中,除了堆顶,其他的数要么就被丢弃了要么就因为大于k而沉入堆底,而最后第k大的数就是堆顶那个数。然后想到不能申请空间,这个想法也被否定了。

2015-09-21 20:07:30 1291 1

原创 设计一个栈,提供一个函数能够找出栈内最大的元素,时间复杂度为O(1)

这是一道淘米网的面试题,当时面试官直接拿出一张纸来让我写出实现方法。我思考了一会,就是关于时间复杂度这块,实在是没有办法,因为我想的都是要遍历一遍这个栈,这样肯定超了,在面试完回来之后,我思考了一段时间,网上了解了一下,得出一个解题思路想要找出最大的数,且时间复杂度为O(1),那么就一定要知道这个最大的数在哪放着,那么我们就可以一次性的找到他。利用栈的特性,我可以一次压2个数,一个数是

2015-09-21 13:40:04 2977

原创 关于运行时无法找到符号的问题--笔试题

今天去笔了淘米的笔试题,其中有一道题是这样说的。一段程序,在编译,链接时都不存在问题,可是在运行的时候出现了问题,提示找不到符号,从而程序终止。问题是,出现这种情况,可能的问题都有哪些?总结如下:windows1.在windows下,动态库的存在总是附带着一个占用空间很小的静态库,这个静态库中存着的是动态库中实现的函数的声明,在链接的时候告诉编译器,这个函数是存在的,只

2015-09-17 13:30:08 2760 1

原创 VC6.0中关于模板的讨论。

在我们熟知的VC6.0编译环境下,有的时候会给出一些反常的情况,程序在调试过程中会给出一些我们觉得不对的事情,代码如下。#includeusing namespace std;template Type Max(Type a, Type b){return a>b?a:b;}void main(){Max(1,2);Max(1.1,2.2);

2015-01-25 14:30:17 921

原创 C++中关于将对象赋值给整形的过程。

在C++中,如果创建了一个对象,并且这个对象拥有私有数据,且数据为整形数据,那么将这个对象直接赋值给一个新创建的int型数据,编译器会报错。具体代码如下 class Test{public:explicit Test(int data=0):m_data(data){cout}Test(const Test &t){coutm_data = t.m_da

2015-01-21 21:44:12 1075

空空如也

空空如也

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

TA关注的人

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