Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitb9ecf44

Browse files
committed
207-course-schedule.md Perfected code.
1 parent175f9df commitb9ecf44

File tree

2 files changed

+44
-52
lines changed

2 files changed

+44
-52
lines changed

‎en/1-1000/207-course-schedule.md

Lines changed: 22 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -60,29 +60,29 @@ To take course 1 you should have finished course 0, and to take course 0 you sho
6060
##Python
6161
###Solution 1: Breadth-First Search
6262
```python
63+
from collectionsimport deque
64+
6365
classSolution:
6466
defcanFinish(self,num_courses:int,prerequisites: List[List[int]]) ->bool:
67+
courses_list= [set()for _inrange(num_courses)]# index: course, value: courses depend on course
6568
in_degrees= [0]* num_courses
66-
courses_list= [set()for _inrange(num_courses)]# index: course, value: courses depending on course
67-
68-
for prerequisitein prerequisites:
69-
in_degrees[prerequisite[0]]+=1
70-
courses_list[prerequisite[1]].add(prerequisite[0])
7169

72-
ok_courses= collections.deque()
70+
for course_item, coursein prerequisites:
71+
courses_list[course].add(course_item)
72+
in_degrees[course_item]+=1
7373

74-
for course, in_degreeinenumerate(in_degrees):
75-
if in_degree==0:
76-
ok_courses.append(course)
74+
ok_course_queue= deque(
75+
[ifor i, in_degreeinenumerate(in_degrees)if in_degree==0]
76+
)
7777

78-
whileok_courses:
79-
ok_course=ok_courses.popleft()
78+
whileok_course_queue:
79+
ok_course=ok_course_queue.popleft()
8080

8181
for coursein courses_list[ok_course]:
8282
in_degrees[course]-=1
83-
83+
8484
if in_degrees[course]==0:
85-
ok_courses.append(course)
85+
ok_course_queue.append(course)
8686

8787
returnsum(in_degrees)==0
8888
```
@@ -91,18 +91,14 @@ class Solution:
9191
```python
9292
classSolution:
9393
defcanFinish(self,num_courses:int,prerequisites: List[List[int]]) ->bool:
94+
courses_list= [set()for _inrange(num_courses)]# index: course, value: courses depend on course
9495
in_degrees= [0]* num_courses
95-
courses_list= [set()for _inrange(num_courses)]# index: course, value: courses depending on course
9696

9797
for prerequisitein prerequisites:
98-
in_degrees[prerequisite[0]]+=1
9998
courses_list[prerequisite[1]].add(prerequisite[0])
99+
in_degrees[prerequisite[0]]+=1
100100

101-
ok_courses= []
102-
103-
for course, in_degreeinenumerate(in_degrees):
104-
if in_degree==0:
105-
ok_courses.append(course)
101+
ok_courses= [ifor i, in_degreeinenumerate(in_degrees)if in_degree==0]
106102

107103
while ok_courses:
108104
ok_course= ok_courses.pop()
@@ -122,7 +118,7 @@ class Solution:
122118
classSolution {
123119
publicbooleancanFinish(intnumCourses,int[][]prerequisites) {
124120
var inDegrees=newint[numCourses];
125-
var coursesList=newArrayList<HashSet<Integer>>();// index: course, value: coursesdepending on course
121+
var coursesList=newArrayList<HashSet<Integer>>();// index: course, value: coursesdepend on course
126122
for (var i=0; i< numCourses; i++) {
127123
coursesList.add(newHashSet<Integer>());
128124
}
@@ -166,7 +162,7 @@ class Solution {
166162
classSolution {
167163
publicbooleancanFinish(intnumCourses,int[][]prerequisites) {
168164
var inDegrees=newint[numCourses];
169-
var coursesList=newArrayList<HashSet<Integer>>();// index: course, value: coursesdepending on course
165+
var coursesList=newArrayList<HashSet<Integer>>();// index: course, value: coursesdepend on course
170166
for (var i=0; i< numCourses; i++) {
171167
coursesList.add(newHashSet<Integer>());
172168
}
@@ -212,7 +208,7 @@ class Solution {
212208
public:
213209
bool canFinish(int num_courses, vector<vector<int>>& prerequisites) {
214210
auto in_degrees = vector<int>(num_courses);
215-
auto courses_vector = vector<set<int>>(num_courses); // index: course, value: coursesdepending on course
211+
auto courses_vector = vector<set<int>>(num_courses); // index: course, value: coursesdepend on course
216212

217213
for (auto& prerequisite : prerequisites) {
218214
in_degrees[prerequisite[0]]++;
@@ -254,7 +250,7 @@ class Solution {
254250
public:
255251
bool canFinish(int num_courses, vector<vector<int>>& prerequisites) {
256252
auto in_degrees = vector<int>(num_courses);
257-
auto courses_vector = vector<set<int>>(num_courses); // index: course, value: coursesdepending on course
253+
auto courses_vector = vector<set<int>>(num_courses); // index: course, value: coursesdepend on course
258254

259255
for (auto& prerequisite : prerequisites) {
260256
in_degrees[prerequisite[0]]++;
@@ -302,7 +298,7 @@ public class Solution {
302298
publicboolCanFinish(intnumCourses,int[][]prerequisites)
303299
{
304300
varinDegrees=newint[numCourses];
305-
varcoursesList=newList<HashSet<int>>();// index: course, value: coursesdepending on course
301+
varcoursesList=newList<HashSet<int>>();// index: course, value: coursesdepend on course
306302
307303
for (inti=0;i<numCourses;i++)
308304
coursesList.Add(newHashSet<int>());
@@ -353,7 +349,7 @@ public class Solution {
353349
publicboolCanFinish(intnumCourses,int[][]prerequisites)
354350
{
355351
varinDegrees=newint[numCourses];
356-
varcoursesList=newList<HashSet<int>>();// index: course, value: coursesdepending on course
352+
varcoursesList=newList<HashSet<int>>();// index: course, value: coursesdepend on course
357353
358354
for (inti=0;i<numCourses;i++)
359355
coursesList.Add(newHashSet<int>());

‎zh/1-1000/207-course-schedule.md

Lines changed: 22 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -60,29 +60,29 @@ To take course 1 you should have finished course 0, and to take course 0 you sho
6060
##Python
6161
###Solution 1: Breadth-First Search
6262
```python
63+
from collectionsimport deque
64+
6365
classSolution:
6466
defcanFinish(self,num_courses:int,prerequisites: List[List[int]]) ->bool:
67+
courses_list= [set()for _inrange(num_courses)]# index: course, value: courses depend on course
6568
in_degrees= [0]* num_courses
66-
courses_list= [set()for _inrange(num_courses)]# index: course, value: courses depending on course
67-
68-
for prerequisitein prerequisites:
69-
in_degrees[prerequisite[0]]+=1
70-
courses_list[prerequisite[1]].add(prerequisite[0])
7169

72-
ok_courses= collections.deque()
70+
for course_item, coursein prerequisites:
71+
courses_list[course].add(course_item)
72+
in_degrees[course_item]+=1
7373

74-
for course, in_degreeinenumerate(in_degrees):
75-
if in_degree==0:
76-
ok_courses.append(course)
74+
ok_course_queue= deque(
75+
[ifor i, in_degreeinenumerate(in_degrees)if in_degree==0]
76+
)
7777

78-
whileok_courses:
79-
ok_course=ok_courses.popleft()
78+
whileok_course_queue:
79+
ok_course=ok_course_queue.popleft()
8080

8181
for coursein courses_list[ok_course]:
8282
in_degrees[course]-=1
83-
83+
8484
if in_degrees[course]==0:
85-
ok_courses.append(course)
85+
ok_course_queue.append(course)
8686

8787
returnsum(in_degrees)==0
8888
```
@@ -91,18 +91,14 @@ class Solution:
9191
```python
9292
classSolution:
9393
defcanFinish(self,num_courses:int,prerequisites: List[List[int]]) ->bool:
94+
courses_list= [set()for _inrange(num_courses)]# index: course, value: courses depend on course
9495
in_degrees= [0]* num_courses
95-
courses_list= [set()for _inrange(num_courses)]# index: course, value: courses depending on course
9696

9797
for prerequisitein prerequisites:
98-
in_degrees[prerequisite[0]]+=1
9998
courses_list[prerequisite[1]].add(prerequisite[0])
99+
in_degrees[prerequisite[0]]+=1
100100

101-
ok_courses= []
102-
103-
for course, in_degreeinenumerate(in_degrees):
104-
if in_degree==0:
105-
ok_courses.append(course)
101+
ok_courses= [ifor i, in_degreeinenumerate(in_degrees)if in_degree==0]
106102

107103
while ok_courses:
108104
ok_course= ok_courses.pop()
@@ -122,7 +118,7 @@ class Solution:
122118
classSolution {
123119
publicbooleancanFinish(intnumCourses,int[][]prerequisites) {
124120
var inDegrees=newint[numCourses];
125-
var coursesList=newArrayList<HashSet<Integer>>();// index: course, value: coursesdepending on course
121+
var coursesList=newArrayList<HashSet<Integer>>();// index: course, value: coursesdepend on course
126122
for (var i=0; i< numCourses; i++) {
127123
coursesList.add(newHashSet<Integer>());
128124
}
@@ -166,7 +162,7 @@ class Solution {
166162
classSolution {
167163
publicbooleancanFinish(intnumCourses,int[][]prerequisites) {
168164
var inDegrees=newint[numCourses];
169-
var coursesList=newArrayList<HashSet<Integer>>();// index: course, value: coursesdepending on course
165+
var coursesList=newArrayList<HashSet<Integer>>();// index: course, value: coursesdepend on course
170166
for (var i=0; i< numCourses; i++) {
171167
coursesList.add(newHashSet<Integer>());
172168
}
@@ -212,7 +208,7 @@ class Solution {
212208
public:
213209
bool canFinish(int num_courses, vector<vector<int>>& prerequisites) {
214210
auto in_degrees = vector<int>(num_courses);
215-
auto courses_vector = vector<set<int>>(num_courses); // index: course, value: coursesdepending on course
211+
auto courses_vector = vector<set<int>>(num_courses); // index: course, value: coursesdepend on course
216212

217213
for (auto& prerequisite : prerequisites) {
218214
in_degrees[prerequisite[0]]++;
@@ -254,7 +250,7 @@ class Solution {
254250
public:
255251
bool canFinish(int num_courses, vector<vector<int>>& prerequisites) {
256252
auto in_degrees = vector<int>(num_courses);
257-
auto courses_vector = vector<set<int>>(num_courses); // index: course, value: coursesdepending on course
253+
auto courses_vector = vector<set<int>>(num_courses); // index: course, value: coursesdepend on course
258254

259255
for (auto& prerequisite : prerequisites) {
260256
in_degrees[prerequisite[0]]++;
@@ -302,7 +298,7 @@ public class Solution {
302298
publicboolCanFinish(intnumCourses,int[][]prerequisites)
303299
{
304300
varinDegrees=newint[numCourses];
305-
varcoursesList=newList<HashSet<int>>();// index: course, value: coursesdepending on course
301+
varcoursesList=newList<HashSet<int>>();// index: course, value: coursesdepend on course
306302
307303
for (inti=0;i<numCourses;i++)
308304
coursesList.Add(newHashSet<int>());
@@ -353,7 +349,7 @@ public class Solution {
353349
publicboolCanFinish(intnumCourses,int[][]prerequisites)
354350
{
355351
varinDegrees=newint[numCourses];
356-
varcoursesList=newList<HashSet<int>>();// index: course, value: coursesdepending on course
352+
varcoursesList=newList<HashSet<int>>();// index: course, value: coursesdepend on course
357353
358354
for (inti=0;i<numCourses;i++)
359355
coursesList.Add(newHashSet<int>());

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp