2013 M筆試南京 程式

2021-09-06 12:13:26 字數 1160 閱讀 6066

迄今只參加了m南京筆試,可惜自己不是計算機出身,還有好多東西得學啊……

m的最後一題是程式設計:

輸入:單鏈表l0、l1、l2……ln-1、ln,將鍊錶變為:l0、ln、l1、ln-1、l2……

演算法:

1

、將鍊錶分成前後兩個部分:

前乙個鍊錶長度 >=後一鍊錶長度;

簡單2、反轉後乙個鍊錶;

簡單3、合併兩個鍊錶;

簡單4、呼叫以上介面;

gameover

演算法實現:

typedef struct

node node_t;

node_t *list_half(node_t *head)

if(start !=null)

return

rv;}

node_t *list_reverse(node_t *head)

rv = prev;

return

rv;}

/*head_first.len >= head_second.len

* or: please check next_second == null */

node_t *list_merge(node_t *head_first, node_t *head_second)

#ifdef len_defense

if(tail_check)

#endif

return

rv;}

node_t *list_result(node_t *head)

可是最後我把list_result中的最後的「return head" 寫成了 」return 0「,原因在於:

我開始想讓他們提供介面,我寫出的程式進行呼叫,因此自己就寫了main函式;後來,我想不一定要生成可執行程式,所以自己提供個介面給他們呼叫獲得返回值,結果我只改了main的函式名和引數,最後的返回值忘改了。

行百里者,半九十……

還是好好看記憶體管理吧,z先生指定的書還沒看完……

2013.9.29

附:晚上同學說了下m的題,我看了下網上關於最後一天的解答,羞愧地無地自容啊,自己寫的錯誤程式誤導了他人;我昨天寫的程式有誤(反轉),處理有冗餘(合併)。如果有人看了我的隨筆記錄,如有錯誤,可以在文中指出,也可以發郵件給我……感謝

2013騰訊暑期實習筆試

筆試題目由20道3分的不定項選擇題 注意是不定項選擇!博主悲劇就 於此,全部當單選來做,考完還納悶為什麼有的題目感覺幾個選項都對 以及10道4分的填空題目構成。範圍覆蓋了程式語言基礎 如巨集定義 資料結構 演算法的複雜度 二叉樹等 資料庫的一些概念 作業系統 記憶體管理 以及網路 協議 位址 的部分...

2013巨人網路c 筆試

1 程序與執行緒的區別,及其優點 2 如何將自己寫的程式,開機直接開啟 3 為何使用release 刪除,而不是使用delete刪除 4 關鍵字const static extern volatile auto的用法 5 struct結構拷貝 define const int maxlength 3...

華為2013上機筆試題

1 字串轉換 問題描述 將輸入的字串 字串僅包含小寫字母 a 到 z 按照如下規則,迴圈轉換後輸出 a b,b c,y z,z a 若輸入的字串連續出現兩個字母相同時,後乙個字母需要連續轉換2次。例如 aa 轉換為 bc,zz 轉換為 ab 當連續相同字母超過兩個時,第三個出現的字母按第一次出現算。...