10 2013 档案
摘要:从存储空间角度 虚函数对应一个vtable,这大家都知道,可是这个vtable其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,所以无法找到vtable。所以构造函数不能是虚函数。 从使用角度 虚函数主要用于在信息不全的情况下,能使重载的函数得到其对应的调用。构造函数本身就是要初始化实例,那使用虚...
阅读全文
摘要:阶乘(Factorial)是个很有意思的函数,但是不少人都比较怕它,我们来看看两个与阶乘相关的问题:1. 给定一个整数N,那么N的阶乘N!末尾有多少个0呢?例如:N=10,N!=3 628 800,N!的末尾有两个0。2. 求N!的二进制表示中最低位1的位置。分析与解法有些人碰到这样的题目会想:是不...
阅读全文
摘要:《编程之美》3.10节中主要针对二叉树的分层遍历进行了讲述,其实在《剑指Offer》一书中”面试题23:从上到下打印二叉树“ 实质上也是针对树结构的按层遍历算法。解法使用一个队列实现。采用递归,代码如下: 1 struct TreeNode{ 2 TreeNode *left; 3 ...
阅读全文
摘要:《编程之美》一书中讲述斐波那契数列的问题,之前大学本科的时候就接触这个问题,那时候开始就知道使用递归来计算,可是一直没有考虑过改进下该算法。。。囧~~菜 直到看到这本书,发现原来之前好多问题都可以优化,斐波那契就是其中之一,其中书本中讲述了三种方法、: 第一种就是对平时的递归算法进行优化,增加了数组专门记录每个子问题的解,实际上是动态规划的思想; 第二种利...
阅读全文
摘要:之前一直在学习C/C++,关于const的使用,这里出现一点,那里出现一点。知识用时方恨少,这一段时间正好各种笔试题,其中关于const的用法也是层出不穷,所以疲于在书本上各种翻,这里汇总一下,加深自己的印象的同时,也方便以后查阅和学习。菜鸟一个,若有错误,望指正! const关键字 常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。不管出现在任何...
阅读全文
摘要:字符串的编辑距离也被称为距Levenshtein距离(Levenshtein Distance),属于经典算法,常用方法使用递归,更好的方法是使用动态规划算法,以避免出现重叠子问题的反复计算,减少系统开销。 《编程之美》一书中3.3节中计算两个字符串的相似度,归根到底也是要求两个字符串的距离,其...
阅读全文
摘要:Amazon Campus(2013-Sep-24)Question 2 / 2 (Amazon Campus(17):Find the differences of items in amazon)Amazon has millions of different items in different categories right now, so when sellers want to sell items in our website, sellers want to find the right categories their items belong to. Suppose we
阅读全文
摘要:整体思路:关键是需要知道当前Steps数组中的全排列即可,而且需要不重复的全排列。即关键在于非递归的全排列实现即可~ 其实直接利用STL中的next_permutation算法的,这里我又自己实现了一遍该算法,当练练手了~ 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 using namespace std; 8 9 void Swap(int& a, int&b) 10 { 11 int tmp = a; 12 a = b; 13 b = tmp; 14 } 15 ...
阅读全文

浙公网安备 33010602011771号