1选课问题 Leetcode上有这样一道题:有代号0,1,2……n-1的n门课程.其中选择某些课程需要另一些课程作为前提条件.用一组pair来表示这些条件:[1,0],[1,2],表示如果要选修课程1,必须先选修课程0和课程2.问是否可能把这n门课程都选修一遍. 这个问题看起来相当复杂.难点在于,一门课程可能需要多门课程作为前提条件,这样就很难找到一条可以不重复地遍历所有课程的方法. 比较笨的方法就是先找出那些不需要前提条件的课程,然后由他们出发将那些只需要他们作为前提条件的课程修完.再循环往复…