- 相關(guān)推薦
筆試題(多重繼承)
1. 寫一個(gè)在一個(gè)字符串(n)中尋找一個(gè)子串(m)第一個(gè)位置的函數(shù),
筆試題(多重繼承)
。KMP算法效率最好,時(shí)間復(fù)雜度是O(n+m)。
2. 多重繼承的內(nèi)存分配問題:
比如有class A : public class B, public class C {}
那么A的內(nèi)存結(jié)構(gòu)大致是怎么樣的?
這個(gè)是compiler-dependent的, 不同的實(shí)現(xiàn)其細(xì)節(jié)可能不同。
如果不考慮有虛函數(shù)、虛繼承的話就相當(dāng)簡(jiǎn)單;否則的話,相當(dāng)復(fù)雜。
可以參考《深入探索C++對(duì)象模型》,或者:
3. 如何判斷一個(gè)單鏈表是有環(huán)的?(注意不能用標(biāo)志位,最多只能用兩個(gè)額外指針)
struct node { char val; node* next;}
bool check(const node* head) {} //return false : 無環(huán);true: 有環(huán)
一種O(n)的辦法就是(搞兩個(gè)指針,一個(gè)每次遞增一步,一個(gè)每次遞增兩步,如果有環(huán)的話兩者必然重合,反之亦然):
bool check(const node* head)
{
if(head==NULL) return false;
node *low=head, *fast=head->next;
while(fast!=NULL && fast->next!=NULL)
{
low=low->next;
fast=fast->next->next;
if(low==fast) return true;
}
return false;
}
【筆試題多重繼承】相關(guān)文章:
360筆試題目06-27
筆美國(guó)國(guó)家儀器試題目09-23
搜狐產(chǎn)品筆歸分享筆試題目07-05
商務(wù)寫作指南:別用多重否定09-09
應(yīng)聘暑期工警惕多重陷阱08-08
新浪筆經(jīng)04-27
遺產(chǎn)繼承委托書范本05-12
面試技巧在求職中到底有多重要?08-25
新聞總署筆經(jīng)10-13