### Problem

This is also like before problem. Here we have to find all valid sequences out of given number of courses and prerequesites.

### Example

Given number of courses :: 2
Prerequesites :: [[0,1]]
Output :: [0,1]

Given number of courses :: 2
Prerequesites :: [[0,1][1,0]]
Output :: []

### JavaScript Code

```function findOrder(numCourses,  prerequisites) {
if(prerequisites == null){
return;
}

var len = prerequisites.length;

//if there is no prerequisites, return a sequence of courses
if(len == 0){
var res = [];
for(var m=0; m<numCourses; m++){
res[m]=m;
}
return res;
}

//records the number of prerequisites each course (0,...,numCourses-1) requires
var  pCounter = [];
//initialize result
var  result = [];
for(var m=0; m<numCourses; m++){
pCounter[m]=0;
result[m]=0;
}
for(var i=0; i<len; i++){
pCounter[prerequisites[i][0]]++;
}

//stores courses that have no prerequisites
var queue = [];
for(var i=0; i<numCourses; i++){
if(pCounter[i]==0){
queue.push(i);
}
}

var numNoPre = queue.length;

var j=0;

while(queue.length!=0){
var c = queue.shift();
result[j++]=c;

for(var i=0; i<len; i++){
if(prerequisites[i][1]==c){
pCounter[prerequisites[i][0]]--;
if(pCounter[prerequisites[i][0]]==0){
queue.push(prerequisites[i][0]);
numNoPre++;
}
}

}
}

//return result
if(numNoPre==numCourses){
return result;
}else{
return [];
}
}

console.log(findOrder(2, [[1,0]]));
```

#### 1 comment:

1. To get all valid sequences of course schedule using javaScript is really best for the people andthey will enjoy it. This a good blog of top 10 essay writing services developed blogs and ideas. I would like to ask people to read this blog.