我是怎麼被阿里筆試虐成狗的

2021-09-20 07:10:25 字數 1479 閱讀 3403

筆試分兩部分,單項選擇題和附加題。

做題時忘了記錄,現在開始回憶,不保證完整性和正確性。

單項選擇共20題,40分鐘完成。題目涵蓋了:

說是附加題,但誰敢不做啊!!!

總共3個程式設計題,80分鐘完成。

給定一塊記憶體,實現分配和釋放等操作。類似於malloc、free以及作業系統**記憶體等過程。沒做完。。

有點像qos,負載均衡,按給定需求給任務分配cpu時間什麼的,沒做,記不清了。

prc請求到達順序和按順序執行的問題。簡單地說,輸入一組未排序的序列,要求在輸入過程中一旦有子串行滿足連續遞增便輸出,且時間效率最大化。舉個栗子,給定序列1 2 4 5 7 3 10 9 6 8,那麼輸出是(1) (2) (3 4 5) (6 7) (8 9 10)()表示一次輸出。

除了寫出程式,還要考慮時間複雜服,魯棒性,維護性什麼的。最後還要求設計單元測試用例。

弱菜我只有這個題做完了。想法是用二叉排序樹儲存輸入序列,每次插入後檢查是否存在子連續遞增序列,存在便輸出。使用棧來實現非遞迴的二叉樹中根序遍歷,滿足當前節點序號等於上次輸出序號+1便輸出,直到不滿足。遍歷過程中若當前節點滿足輸出條件,那麼輸出該節點序號後,將該節點的父節點的左子樹指向該節點的右子樹並銷毀該節點,因為使用了棧來實現遍歷,所以這個過程很簡單。

**:

#include #include using namespace std;

struct tree

};void outputorder(tree* &root, int &last)

if(!nodes.empty())

}return;

}void inputorder(tree* &root, int value)

else

p = p->left;

}else

else

p = p->right;}}

root = new tree(value);

return;

}int main(void)

{ tree *root = null;

int arr[10];//就假設10個序號好了

int last = 0;

for(int i = 0;i<10;i++)

cin>>arr[i];

for(int i = 0;i<10;i++)

{inputorder(root, arr[i]);

if(arr[i] == last + 1)

{outputorder(root, last);

cout《輸入:

1 2 4 5 7 3 10 9 6 8

輸出:

1

23 4 5

6 78 9 10

**得不輕,得找個系統的複習方法才行。。

少玩遊戲多看書,下次再戰 (ง •̀•́)ง

我是怎麼了?

不開心又已經好幾天了,為什麼是 又 也許是受了高手的打擊,感覺自己像小白 也許是因為老婆回了老家,突然沒了人陪 不管怎麼樣,不開心的感覺還是在持續著 晚上坐在電腦前,突然感覺有那麼一點失落 行屍走肉的生活中,別人的艷羨並不能給我帶來一絲的歡樂 反而,二環路上那個瘋癲的人,才像是真的我 突然明白,吃飯...

我是怎麼理解程式設計的?

我相信其實很多人都有乙個願望就是變成設計師,那種用工具材料創造出自己喜歡的成果。那種滿滿的成就感。但我第一次接觸html的時候我就乙個感悟 程式設計其實就是一種藝術。2015年06月04日更新 昨天去培訓機構了解了一下,三個半月的時間,其實我看了一下課程很多東西都可以自學,可能出在入門會用階段,達不...

小白被QT5虐了,請問到底怎麼發布EXE程式

樓主傻了,直接把qt的發行版的dll打個自解壓到system32目錄的包,還有把外掛程式之類的都加上去解壓到系統指定的目錄,讓沒有安裝過你的執行庫的電腦安裝一下,以後你給別人發行軟體,就直接給他乙個一兩百kb的exe程式就可以了,都不用考慮dll的問題,我發乙個我打包的qt5.1.1執行庫的包,給你...