1 Star 0 Fork 0

Neo_1001/LeetCode刷题记录

Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Please pay attention to the specific project description and its upstream code dependency when using it.
Clone or Download
LC_210.java 1.28 KB
Copy Edit Raw Blame History
Neo_1001 authored 2024-04-10 22:16 . first commit
package LeetCode;
import java.lang.reflect.Array;
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Deque;
public class LC_210 {
public static void main(String[] args) {
System.out.println(Arrays.toString(findOrder(4, new int[][]{{1, 0}, {2, 0}, {3, 1}, {3, 2}})));
}
public static int[] findOrder(int numCourses, int[][] prerequisites) {
ArrayList<ArrayList<Integer>> list = new ArrayList<>();
ArrayList<Integer> res = new ArrayList<>();
Deque<Integer> que = new ArrayDeque<>();
int[] indeg = new int[numCourses];
for (int i = 0; i < numCourses; i++) {
list.add(new ArrayList<>());
}
for (int[] rela : prerequisites) {
list.get(rela[1]).add(rela[0]);
indeg[rela[0]]++;
}
for (int i = 0; i < indeg.length; i++) {
if (indeg[i] == 0) que.add(i);
}
while (!que.isEmpty()) {
int u = que.pop();
res.add(u);
for (Integer v : list.get(u)) {
indeg[v]--;
if (indeg[v] == 0) que.add(v);
}
}
if (res.size() == numCourses) return res.stream().mapToInt(Integer::intValue).toArray();
return new int[]{};
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/neo1001/leet-code-practice-record.git
git@gitee.com:neo1001/leet-code-practice-record.git
neo1001
leet-code-practice-record
LeetCode刷题记录
master

Search