-
Rust lang) leetcode 207. Course ScheduleRust 2024. 1. 11. 22:47
use std::collections::VecDeque; struct Solution{} impl Solution { pub fn can_finish(num_courses: i32, prerequisites: Vec<Vec<i32>>) -> bool { let i = prerequisites.len(); let mut tmp = prerequisites.len(); let size = prerequisites.len(); let mut counter: Vec<i32>= vec![0; num_courses as usize]; let mut que:VecDeque<i32>= VecDeque::new(); for i in 0..size{ let value= prerequisites[i][0]; counter[value as usize]+=1; } for i in 0..num_courses{ if counter[i as usize] == 0 { que.push_back(i as i32); } } let mut num= que.len(); while !que.is_empty() { tmp= que.remove(que.len()).unwrap() as usize; for i in 0..size { if prerequisites[i][1] == tmp as i32 { counter[prerequisites[i][0] as usize]-=1; if counter[prerequisites[i][0] as usize] == 0 { num+=1; que.push_back(prerequisites[i][0]); } } } } num == (num_courses as usize) } } fn main(){ let num_courses= 2; let prerequisites= vec![vec![1,0],vec![0,1]]; let reuslt= Solution::can_finish(num_courses, prerequisites); println!("{}", reuslt);
'Rust' 카테고리의 다른 글
Rust lang) 백준 11047번 동전 0 (0) 2024.01.18 Rust lang) 백준 7562번 : 나이트의 이동 (0) 2024.01.16 Rust lang) 백준 15903 카드 합체 놀이 (1) 2024.01.09 Rust Lang) 백준 2002 추월 (0) 2024.01.09 rust lang) 백준 1927 최소 힙 (1) 2024.01.09