图
sjphiChina
代码是最为耐心、最能忍耐和最令人愉快的伙伴,在任何艰难困苦的时刻,它都不会抛弃你。
展开
-
Course Schedule
从这道题给自己很多启示: 1. 以后对于corner case,可以扔异常,这也是昨天的经验; 2. 数组courses是记录每节课的度数,对于度数为0的则是最基础的课程,直接加入queue; 3. 接着就是纯粹的图的拓扑排序。 public class Solution { public boolean canFinish(int n, int[][] edges) { if原创 2016-06-29 08:18:44 · 259 阅读 · 0 评论 -
Course Schedule II
做了I,这个II就是在每次找出度数为0的课程时,将其加入数组中,并返回数组,整体程序没有变化。 但当中两个注意: 1. 课程数组为0时,即没有前置课程,那么直接打印返回0-n-1; 2. 若遇到环,无法完成课程的情况,返回的是new int[0],而不是new int[numCourses] public class Solution { public int[] findOrde原创 2016-06-29 08:23:53 · 256 阅读 · 0 评论 -
Alien Dictionary
很好的参考:点击打开链接 此题关键是想到通过建图,再拓扑排序来解。思路一定要活。 每个不同的字母对就可以代表一条边。 public class Solution { public String alienOrder(String[] words) { StringBuilder order = new StringBuilder(); if (word原创 2016-06-30 03:55:52 · 480 阅读 · 0 评论