add new solutions

This commit is contained in:
kanna5 2026-01-05 16:48:03 +09:00
parent 0c73608ce5
commit d798d5e8c9
Signed by: kkyy
GPG key ID: 06332F3965E9B0CF
19 changed files with 661 additions and 4 deletions

View file

@ -0,0 +1,34 @@
package q210
func findOrder(numCourses int, prerequisites [][]int) []int {
ndeps := make([]int, numCourses)
revDeps := make([][]int, numCourses)
ret := make([]int, 0, numCourses)
for i := range prerequisites {
c, dep := prerequisites[i][0], prerequisites[i][1]
ndeps[c]++
revDeps[dep] = append(revDeps[dep], c)
}
for i := range ndeps {
if ndeps[i] == 0 {
ret = append(ret, i)
}
}
for i := 0; i < len(ret); i++ {
for _, c := range revDeps[ret[i]] {
ndeps[c]--
if ndeps[c] == 0 {
ret = append(ret, c)
}
}
}
if len(ret) != numCourses {
return nil
}
return ret
}
var _ = findOrder