Skip to content

Commit 8f64ac5

Browse files
committed
Added Course Schedule Structure
1 parent e3e9437 commit 8f64ac5

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

src/course_schedule.rs

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
/// There are a total of `numCourses` courses you have to take, labeled from
2+
/// `0` to `numCourses - 1`. You are given an array `prerequisites` where
3+
/// `prerequisites[i] = [ai, bi]` indicates that you must take course `bi`
4+
/// first if you want to take course `ai`.
5+
///
6+
/// * For example, the pair `[0, 1]`, indicates that to take a course `0` you
7+
/// have to first take course `1`.
8+
///
9+
/// Return `true` if you can finish all courses. Otherwise, return `false`.
10+
struct Solution;
11+
12+
impl Solution {
13+
14+
// TODO: Implement
15+
pub fn can_finish(_num_courses: i32, _prerequisites: Vec<Vec<i32>>) -> bool {
16+
false
17+
}
18+
19+
}
20+
21+
#[cfg(test)]
22+
mod tests {
23+
use super::Solution;
24+
25+
#[test]
26+
fn example_1() {
27+
let num_courses = 2;
28+
let prerequisites = vec![vec![1,0]];
29+
let result = Solution::can_finish(num_courses, prerequisites);
30+
assert!(result);
31+
}
32+
33+
#[test]
34+
fn example_2() {
35+
let num_courses = 2;
36+
let prerequisites = vec![vec![1,0], vec![0,1]];
37+
let result = Solution::can_finish(num_courses, prerequisites);
38+
assert!(!result);
39+
}
40+
41+
}

0 commit comments

Comments
 (0)