和課程表1的思路一模一樣,只是加個返回陣列。我這是用鍊錶,每次從佇列中彈出數時就加入鍊錶中,最後返回之前先判斷是否可以學完,再返回。
public
int[
]findorder
(int numcourses,
int[
] prerequisites)
return lgx.
toarray()
;}int a=numcourses;
int[
]rudu=
newint
[numcourses]
;//每個課程的入度。
資料結構與演算法練習18
首先判斷字串如果長度為0或1就直接返回它的長度。然後用head指向每次子串的首位置,rear指向末位置的下乙個位置,子串的長度就是rear head。雙層for迴圈,外迴圈 i 遍歷1到s.length,內迴圈 j 判斷當前位置 i 是否等於head到rear間的乙個字元,如果相等,就令head j...
資料結構與演算法練習33
直接按行排序,用flag標識是往下走還是往上,直到行數為0或numrows才變。public string convert string s,int numrows int row 0 記錄當前在哪一行。bool flag false 在第一行或最後一行的時候要轉向。true往下,false往上。f...
資料結構與演算法練習43
這裡復用了求二叉樹的最大深度的 遞迴,反覆比較左右二叉樹深度的差值。public class treenode public static bool isbalanced treenode root else return isbalanced root.left isbalanced root.r...