그림 의 깊이 우선 스 트 리밍 알고리즘
너 는 이번 학기 에 반드시 numCourse 과목 을 선택 과목 으로 이수 해 야 한다. 0 도착 하 다 numCourse-1 。
어떤 과목 을 선택 과목 으로 이수 하기 전에 먼저 과목 을 이수 해 야 한다. 예 를 들 어 학습 과정 0 을 하려 면 먼저 과정 1 을 완성 해 야 한다. 우 리 는 일치 하 는 것 으로 그들 을 표시 한다. [0, 1]
주어진 과정의 총량 과 그들의 선 결 조건 을 정 하고 모든 과정의 학습 을 완성 할 수 있 는 지 판단 해 주 십시오.
예시 1:
입력: 2, [1, 0] 출력: true 설명: 모두 두 과목 이 있다.학습 과정 1 전에 너 는 수업 0 을 완성 해 야 한다.그 러 니까 가능 해.예시 2:
입력: 2, [1, 0], [0, 1] 출력: false 해석: 모두 두 과목 이 있다.학습 과정 1 전에 당신 은 먼저 과정 0 을 완성 해 야 합 니 다.그리고 수업 0 을 배우 기 전에 수업 1 을 먼저 완성 해 야 합 니 다.그 럴 리 가 없어.
출처: 스냅 백 (LeetCode) 링크:https://leetcode-cn.com/problems/course-schedule 저작권 은 인터넷 에 귀속 된다.상업 전 재 는 정부 에 연락 하여 권한 을 부여 해 주 십시오. 비 상업 전 재 는 출처 를 밝 혀 주 십시오.
2. 알고리즘
class Solution {
List> graph;
int[] visit;// 1 ;0 ;-1
boolean res=true;
public boolean canFinish(int numCourses, int[][] prerequisites) {
graph=new ArrayList>();
visit=new int[numCourses];
for(int i=0;i());
}
for(int[] tmp:prerequisites){
graph.get(tmp[1]).add(tmp[0]);
}
for(int i=0;i
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Rails Turbolinks를 페이지 단위로 비활성화하는 방법원래 Turobolinks란? Turbolinks는 링크를 생성하는 요소인 a 요소의 클릭을 후크로 하고, 이동한 페이지를 Ajax에서 가져옵니다. 그 후, 취득 페이지의 데이터가 천이 전의 페이지와 동일한 것이 있...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.