自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (6)
  • 收藏
  • 关注

原创 面试题之链表篇

链表是面试重中之重,但题型比较死,考的是细心。这里做一个总结,会给出模板实现。如果错误,请不吝指教!1. 判断链表是否有环2.求链表中间节点(偶数则返回前一个节点)3.约瑟夫环问题4. 链表逆序输出(递归)5. 链表反转(非递归与递归)6.两个有序单链表的合并(非递归与递归)7.判断两个单链表是否相交8.接题7,若相交求第一个交点9. 删除链表某个节点10.

2013-11-05 15:19:55 1587 4

原创 面试题之二叉树篇

二叉树是面试中很重要的考点,类似中序非递归遍历、最低公共祖先、镜像、路径求值等问题屡见不鲜。 在这里总结常见的一些题目,并给出模板实现,希望能给求职的朋友一些帮助,也方便自己时时回顾。如有错误,请不吝指教!1. 有序数组递归建立二叉树2. 求叶子节点个数3. 求二叉树深度4. 求镜像5. 分层打印,打印一行后换行6. 判断二叉树是否平衡8. 判断是否是满二叉树9.

2013-11-05 11:31:00 1389

原创 一种二分查找变形

原始的二分查找非常简单,只要找到值返回即可;但是如果某

2014-09-01 15:30:03 719

转载 C++ 的 RTTI 观念和用途

注:这是个人觉得讲RTTI最透彻的文章,台湾“物泽‧C++应用小组”写的,比较老了,不过价值依然很大                                                                                                                           自从1993年Bjarne Stroustrup

2014-04-02 10:07:33 1085

原创 求数组的逆序数

题目:在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。现在,给你一个N个元素的序列,请你判断出它的逆序数是多少。比如 1 3 2 的逆序数就是1。方法1::O(n^2)这个就不说了。方法2: 借助归并排序达到O(nlgn)的时间复杂度,当然牺牲了一点空间。这里主要描述一下方法2,前提是

2014-04-01 11:21:28 3109

原创 子串子序列相关面试题总结

注:子串是连续的,子序列则不连续1,求最长回文子串中心法应该是最为常用的办法,时间复杂度O(n^2)。输入字符串假设为”abcdedc";从左到右依次考虑以a为中心最长回文是多少,以ab中间的空为中心最长回文是多少,以b为中心最长回文是多少.......代码如下:int LPS(char *str, int n){ assert(str != NULL); int le

2014-03-28 10:16:34 1204

原创 求字符串编辑距离的递推和递归实现

递推实现:int CalculateDis_DP(char *str1,char *str2) { int i, j; int len1=strlen(str1), len2=strlen(str2); for (i=0;i<=len2;i++) d[0][i]=i; for (i=0;i<=len1;i++)

2014-03-26 10:47:58 1033

原创 C语言部分库函数实现

1,strcpy实现char* my_strcpy(char *dest, const char *src){ if (NULL == dest || NULL == src) return NULL; char* temp = dest; while ((*dest++ = *src++) != '\0'); return temp;}2,strcmp实现

2014-03-21 15:55:17 1037

原创 一道亚马逊面试题(股票买卖问题)

题目:一个股价序列,已知每个时间点的股价,问什么时候买什么时候卖获利最大这道题O(N)空间复杂度和O(N)时间复杂度都不难想到:假设股价序列由a[N]表示,一种方法是开一个缓冲数组b[N-1],记录a[N]中每两个相邻元素的差值,然后问题转化为求b[N-1]的最大子数组和(当然必须知道最大子数组和的O(N)解法)。第二种方法是开一个缓冲数组b[N],依次存储以当前元素结尾的左侧数组最小值,然后

2014-03-20 14:21:03 1633

转载 随机概率相关的面试题

转至:http://blog.csdn.net/luckyxiaoqiang/article/details/87889061. 已知有个rand7()的函数,返回1到7随机自然数,让利用这个rand7()构造rand10() 随机1~10。只调用一次rand7()肯定无法达到目的。我们调用两次rand7(),这样我们可以随机的得到1~49中的一个数,为什么呢?我们将49分成7段,1~

2014-03-19 13:55:35 845

原创 一道腾讯笔试题(已知一个数组,不使用除法构造另一数组)

题目:给定一数组a[N],我们希望构造数组b [N],其中b[j]=a[0]*a[1]…a[N-1] / a[j],在构造过程中,不允许使用除法;要求O(1)空间复杂度和O(n)的时间复杂度。观察b[j]的构造公式,发现它实际上是由两部分相乘得到。左边是a[i]到a[j-1]的乘积,右边是a[j+1]到a[N-1]的乘积,中间的a[j]被除掉了。接下来就是怎么实现的问题了。先从左向右扫描a[N

2014-03-18 10:11:25 1159

原创 求连续子数组最大乘积

因为数组中存在正负零的情况,所以相比求连续子数组最大和的问题,求最大积稍微复杂一些,不过代码还是很简洁。假设数组为a[N],max[N] 表示以下标为 i 结尾的子数组乘积最大值,min[N] 表示以下标为 i 结尾的子数组乘积最小值。为了处理数组元素为负的问题,必须将最小乘积也保存起来。。很容易想到,若当前元素a[i]为负数,那么乘以a[i]*max[i-1]得到的并不一定比a[i]*m

2014-03-16 20:44:32 3800

原创 打印螺旋数组

已知M和N,要求打印一个M行N列的螺旋矩阵。比如M、N都为3,则打印1  2  3 8  9  47  6  5我们来看,因为是按螺旋状打印,我们更直观的可以将其理解为分层打印,比如上面的例子分为两层,第一层为:1、2、3、4、5、6、7、8;第二层为:9。  这样我们将问题转化为分层打印,而每一层有四个边,所以我们要考虑的是怎么将四条边合理的打印出来。为了表示每条边的

2014-03-13 16:00:02 1181

原创 打印集合的所有子集

已知一个集合,其子集包括空集和本身。怎样将所有的子集打印出来?最简单的O(N^3)算法不难想到,但是太过于朴素,应该还有更巧的方法。我们已知,一个元素个数为n的集合,其子集个数为2^n个。比如set { 1, 2 },含有两个元素,一共有四个子集,分别为{ },{ 1 },{ 2 },{ 1,2 }。 我们取一个只有两位的bitset,显然这个两位的bitset只有四种组合,00、01、10、

2014-03-12 14:43:30 3271

转载 面试题之数组篇

转至:http://www.cnblogs.com/graphics/archive/2010/08/24/1761620.html    感谢原作者的收集整理数组是最基本的数据结构,关于数组的面试题也屡见不鲜,本文罗列了一些常见的面试题,仅供参考,如果您有更好的题目或者想法,欢迎留言讨论。目前有以下18道题目,如果有好的题目,随时更新。数组求和求数组的最大值和最小值求数组的最大值

2014-03-11 14:16:24 1298

原创 常用排序算法C语言实现

1,冒泡排序void BubbleSort(int a[], int n){ int i, j, tmp; int flag = 1; for (i = 0; i < n && flag ; i++) { flag = 0; for (j = 0; j < n - i - 1; j++) if (a[j] > a[j+1]) { tmp = a[j]

2014-03-10 21:04:42 1096

转载 linux文件组织结构

文件系统的组织结构分析;        文件系统的组织结构分析,我们能分析什么呢?也就是当我们列/目录时,所看到的/usr、/etc ... ... /var 等目录是做什么用的,这些目录是不是有些特定的用途。无论哪个哪个版本的Linux系统,都有这些目录,这些目录应该是标准的。当然各个Linux发行版本也会存在一些小小的差异,但总体来说,还是大体差不多。        Linux

2014-03-06 10:35:20 825

转载 Linux常用命令

显示目录和文件的命令   Ls:用于查看所有文件夹的命令。   Dir:用于显示指定文件夹和目录的命令   Tree: 以树状图列出目录内容   Du:显示目录或文件大小 修改目录,文件权限和属主及数组命令   Chmod:用于改变指定目录或文件的权限命令。   Chown:用于改变文件拥有属性的命令。   Chgrp:用于改变文件群组的命令。   Chattr

2014-03-06 10:02:50 878

原创 栈和队列的相互模拟

1、用两个栈(s1,s2)实现一个队列(q)基本思想:入队列的时候都进入s1; 出队列的时候分情况,若s2不为空,则直接弹出s2栈顶元素,若s2为空,则将s1除栈底元素外依次出栈并压入s2,再弹出s1栈底元素即可。template class MyQueue{public: void push(T e) { s1.push(e); } T pop() { int

2014-02-22 20:49:29 804

原创 Ubuntu下VIM设置高亮、行号、缩进

首先确保安装了VIM,如果系统只有自带的VI,可通过sudo apt-get install vim 安装VIM。VIM的配置文件是/etc/vim/vimrc,通过gedit打开它:sudo gedit /etc/vim/vimrc。设置高亮:在vimrc文件中有一行"syntax on;找到这一行然后去掉前面的双引号即可。设置行号:在vimrc文

2014-02-17 11:42:52 1128

208个必须搞掂的面试难题

208个必须搞掂的面试难题

2012-09-11

微机汇编一秒延时子程序

微机汇编一秒延时子程序,比较难得的资源 ,单片机上延时一秒容易,微机上比较困难

2012-09-11

计算机算法设计与分析讲义 - 中科院 - 陈玉福 - 2012版

计算机算法设计与分析讲义 - 中科院 - 陈玉福 - 2012版

2012-09-11

动态规划经典教程

动态规划经典教程

2012-03-22

严蔚敏《数据结构》源代码(C_C++)_课件

严蔚敏《数据结构》源代码(C_C++)_课件

2012-03-22

ACM 第01课-正确处理输入输出

ACM 第01课-正确处理输入输出.pdf

2012-03-22

空空如也

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

TA关注的人

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