摘要: 记得以前学C的时候老喜欢考 ++ 操作符,公司笔试面试题也出现过在此提供一些题:我个人的理解放在最后} //运行结果是18,理解:1. ++在前的意思是“先加后用”,这里蕴含的意思是说,只要遇到++在前那么马上将内存中的变量加一,++在后的意思是”先用后加“这个“后加”的意思是语句结束(分号为语句结束)后才加,没结束 是内存中... 阅读全文
posted @ 2010-08-23 20:44 David Luo 阅读(1681) 评论(1) 推荐(2) 编辑
摘要: 面试的人很和蔼,问了两个题 我比较有映像1。数组的按行存储和按列存储在效率上有什么不同?2。 给定一个整数a判断a是否是对称的如. 121.12321 这样的就是对称的,此题要求手写。还问了些 网络,操作系统,Linux内核的东西,不过比较浅,幸亏以前有所涉猎.都一一化解。第一题答案很明显嘛,主要是块表的局部性问题。第二题 编程题。 挺简单的,抠太细了就会有多种做法。第一种:直接模运算,得到的数变... 阅读全文
posted @ 2010-08-20 15:27 David Luo 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 本人试过:2 5 等 效果不错~1、假装 你的情绪是-微笑、大笑、大声的傻笑、傻傻的保持两分钟。据说这样做有助于引发和控制你的快乐想法,使你情绪高涨,感觉好一些。 2、摄入一些维他命 维他命B6和B3对于产生复合胺来说都是十分重要的。锌有助于大脑中神经传递素的平衡和减轻低落情绪。3、捋清你的生活 听起来很奇怪,但是清理你的衣橱、抽屉和杂志和扔掉那些聚积的垃圾都能够使你的心情变好。你的要求越严格,收... 阅读全文
posted @ 2010-08-20 11:27 David Luo 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 假如要求N个字符的全排列,N个字符的集合为S={C1, C2,...,Cn}1.对于递归的情况,令去掉第i个字符后的集合为Si=S-{Ci},那么集合S的全排列FullPermutation(S)为:C1+FullPermutation(S1)C2+FullPermutation(S2)...Cn+FullPermutation(Sn)加号"+"表示字符连接,显然递归的结束条件是集合中只有一个字符... 阅读全文
posted @ 2010-08-18 21:33 David Luo 阅读(703) 评论(0) 推荐(0) 编辑
摘要: 面试题一道,应该是做出来了..代码如下:原理就是枚举矩阵的边界 然后用动态规划解决代码如下:[代码]} 阅读全文
posted @ 2010-08-18 15:03 David Luo 阅读(445) 评论(0) 推荐(0) 编辑
摘要: 中序遍历:遇到一个节点后将返回值置为1, 如果左右子树返回值都是1那么这就是一个公共祖先,最近就是第一个,做一个标志位判断一下就可以了代码如下:[代码]最近想算法想得头晕 ,是不是不太适合搞代码?哎码工的无奈啊 阅读全文
posted @ 2010-08-16 11:08 David Luo 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 此算法是动态规划中的经典:LCS即求数组 a b 中最长的公共子序列,其中序列不一定要相邻 。用动态规划解有两种,一种是正着解,一种是倒着解,即备忘录法贴下我写的代码:[代码] 阅读全文
posted @ 2010-08-15 22:00 David Luo 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 最长递增之序列简称:LIS是一道很经典的算法题,问题定义如下给定一个无序的数组,找出长度最长的单调递增的子序列(不一定要相邻)解法可以采用动态规划,有两种方法:1.将源数组a 排序得到另一个数组b,然后在这两个数组中求LCS即(最长公共子序列)复杂度为 nlogn + n22.将源数组a直接采用动态规划,递推式很简单,如果第k位加入数组中,那么以k结尾的子序列的长度可以由(0。k-1)递推出来,即... 阅读全文
posted @ 2010-08-15 20:43 David Luo 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 大学的时候记得最难得就是这个弗洛伊德了,记得考研的时候看到这个三重循环,我直接放弃,然后对自己说“这种变态算法基本不考”上研了也见了世面了。知道DP,在这里汗本科时候的算法课...最近由于找工作 于是就复习了下算法,参考了《算法导论》发现弗洛伊德是DP的一种应用 其实比较简单弗洛伊德算法是求解图的多源最短路径的。具有重叠子问题结构为:Floyd-Warshall算法(Flo... 阅读全文
posted @ 2010-08-14 23:41 David Luo 阅读(28895) 评论(0) 推荐(4) 编辑
摘要: 此题面试时常有:解答方法有以下三种:1。 直接迭代求解,这个很简单,复杂度O(n)。1。 分治法。复杂度 logn 此方法有点凹,原理是:a的n次方可以分别对应两种情况: 1。 n为偶数 那么 an= (a*a)n/2 2。n为奇数 那么an= a*an-1代码如下:[代码]3.此方法复杂度为 n的二进制表示中最高位1的index原理为:事先建立a的 2m m为(0,x);的表... 阅读全文
posted @ 2010-08-14 17:41 David Luo 阅读(1607) 评论(0) 推荐(0) 编辑