演算法面試題

2021-08-07 14:40:04 字數 688 閱讀 7314

1、兩個有序的陣列求中位數(時間複雜度o(log(n+m))

這個演算法有一定的缺陷,僅做參考)

2、如何解決hash衝突

3、調整陣列順序使奇數字於偶數前面

void reorderoddeven(int *pdata, unsigned int length)

}}

4、鍊錶中倒數第k個節點

listnode *findkthtotail(listnode *plisthead, unsigned int k)

pbehand = plisthead;

while(pahead->next != null)//新增乙個指標從頭開始

return pbehand;

}

5、鍊錶的反轉(倒插法)

listnode *reverselist(listnode *phead)

return pprev;

}

7、合併兩個排序的鍊錶

listnode *merge(listnode *phead1, listnode *phead2)

else

return pmergehead;

}

演算法面試題

戰爭遊戲的至關重要環節就要到來了,這次的結果將決定王國的生死存亡,小b負責首都的防衛工作。首都位於乙個四面環山的盆地中,周圍的n個小山構成乙個環,作為預警措施,小b計畫在每個小山上設定乙個觀察哨,日夜不停的瞭望周圍發生的情況。一旦發生外地入侵事件,山頂上的崗哨將點燃烽煙,若兩個崗哨所在的山峰之間沒有...

演算法面試題

假設有n個人,1 n,從第乙個開始計數,到第k個人則出列,隨後從第k 1個人重新計數,再到k出列,直到剩下最後乙個,求最後乙個人的編號。字串排序,先把comparefunction寫出來,然後呼叫arr.sort comparefunction comparefunction function co...

演算法面試題三

螺旋佇列問題 看清一下數字排列的規律,設1點的座標是 0,0 x方向向右為正,y方向向下為正,列如7的座標是 1,1 2的座標是 0,1 3的座標是 1,1 程式設計實現輸入任意一點座標 x,y 輸出所對應的數字。21 22 20 7 8 9 10 19 6 1 2 11 18 5 4 3 12 1...