随笔分类 - 算法面试
摘要:经典题目,代码如下: 1 #include 2 #include 3 using namespace std; 4 struct ListNode { 5 int m_iData; 6 ListNode* m_pNext; 7 }; 8 ListNode* Reverse(Lis...
阅读全文
摘要:题目:有一个无序、元素个数为2n的正整数组,要求:如何能把这个数组分割为元素个数为n的两个数组,并使两个子数组的和最接近?1 1 2 -> 1 1 vs 2看题时,解法的时间复杂度一般都大于或等于O(n^2)。突然灵感一闪,发现一个新的解法,应该算是一个动态规划的过程吧,思路比较简单,请看代码。空间...
阅读全文
摘要:#include #include using namespace std;long long fibs1(int in_iN) { if(in_iN > in_iN; return 0;}
阅读全文
摘要:#includeusing namespace std;//--------------------快速排序------------------------void quicksort_cld(int a[],int left,int right){ int i=left,j=right; ...
阅读全文
摘要:昨天参加了这次实习生笔试题,感觉考的不算难,但是有点广,数据结构、计算机操作系统、计算机网络等都有涉及。却没有实际编码题目,看样子是面试的时候考察吧。其实基础扎实的话,应该不难。答案都是自己解答和小伙伴探讨以及网上查的资料进行分析的,如有错误请留言拍砖!(一)不定项选择题(25*4)1.使用深度优先...
阅读全文
摘要:1 //编写一个数组类 MyVector,数组内容可以动态扩充,实现构造,析构,赋值操作符重载,插入,删除,获取元素个数,获取数组容量(不可以使用STL等的容器类,不能使用 2 //不连续的存储空间) 3 #include 4 using namespace std; 5 class...
阅读全文
摘要:1 union 2 { 3 int i; 4 char x[2]; 5 }a; 6 void fun() 7 { 8 a.x[0] = 10; 9 a.x[1] = 1; 10 printf("%d-%d-%d\n",a.i,a.x[0],a.x[1]);//266,10,1 :说明a.x[0]与a.x[1]互无影响,所以它们的地址是不同的。a.i=a.x[0]+a.x[1]*256(2的8次方);11 a.i=1027;12 printf("%d-%d-%d\n",a.i,a.x[0],a.x[1]);//1027,3,4 1027=(4)*256+(
阅读全文
摘要:构造函数与析构函数的调用顺序对象是由“底层向上”开始构造的,当建立一个对象时,首先调用基类的构造函数,然后调用下一个派生类的构造函数,依次类推,直至到达派生类次数最多的派生次数最多的类的构造函数为止。因为,构造函数一开始构造时,总是要调用它的基类的构造函数,然后才开始执行其构造函数体,调用直接基类构造函数时,如果无专门说明,就调用直接基类的默认构造函数。在对象析构时,其顺序正好相反。实例#includeusing namespace std;class point{private: int x,y;//数据成员public: point(int xx=0,int yy=0)//构造...
阅读全文

浙公网安备 33010602011771号