兩道面試題

這次微軟的兩道面試題,先做個記錄,待以後實現

1. 維護這樣一個樹的數據結構

R..

    R

    R..

        R

        R

        R

    R

每個節點表示一個運行程序,子節點表示程序實例,內部節點表示其子節點的運行情況。

每個節點的狀態

ready fail inprocess succeeded

併爲類分配一個函數RunOneProcess,具體操作如下:

  1. 如果節點是一個葉節點,並處於ready或fail狀態,則反覆調用改程序,直到成功返回。(注意,每個葉節點可能定義不同的程序,並且用戶可以自定義。)如果處於succeeded狀態,則不執行返回

  2. 如果是內部節點,如果處於succeeded狀態,則不執行。否則依次調用其子節點的運行,並將自己置爲inprocess狀態,直到有一個子節點執行成功,則結束本次執行。如果其子節點均處於succeeded狀態,則將自己狀態置爲succeeded狀態。

注意,RunOneProcess每次只能執行一個process

 

2. 魔術棒功能

一個平面圖,一個點,實現魔術棒的高效算法。
如果做測試,測試用例設計。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章