国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【LeetCode: 210. 課程表 II:拓?fù)渑判?圖】

這篇具有很好參考價值的文章主要介紹了【LeetCode: 210. 課程表 II:拓?fù)渑判?圖】。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

【LeetCode: 210. 課程表 II:拓?fù)渑判?圖】,LeetCode每日一題打卡,leetcode,算法,java,拓?fù)渑判?圖論,面試

?? 算法題 ??

?? 算法刷題專欄 | 面試必備算法 | 面試高頻算法 ??
?? 越難的東西,越要努力堅持,因為它具有很高的價值,算法就是這樣?
?? 作者簡介:碩風(fēng)和煒,CSDN-Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者??,保研|國家獎學(xué)金|高中學(xué)習(xí)JAVA|大學(xué)完善JAVA開發(fā)技術(shù)棧|面試刷題|面經(jīng)八股文|經(jīng)驗分享|好用的網(wǎng)站工具分享??????
?? 恭喜你發(fā)現(xiàn)一枚寶藏博主,趕快收入囊中吧??
?? 人生如棋,我愿為卒,行動雖慢,可誰曾見我后退一步?????

?? 算法題 ??

【LeetCode: 210. 課程表 II:拓?fù)渑判?圖】,LeetCode每日一題打卡,leetcode,算法,java,拓?fù)渑判?圖論,面試

?? 題目鏈接

  • 210. 課程表 II

? 題目描述

現(xiàn)在你總共有 numCourses 門課需要選,記為 0 到 numCourses - 1。給你一個數(shù)組 prerequisites ,其中 prerequisites[i] = [ai, bi] ,表示在選修課程 ai 前 必須 先選修 bi 。

例如,想要學(xué)習(xí)課程 0 ,你需要先完成課程 1 ,我們用一個匹配來表示:[0,1] 。
返回你為了學(xué)完所有課程所安排的學(xué)習(xí)順序??赡軙卸鄠€正確的順序,你只要返回 任意一種 就可以了。如果不可能完成所有課程,返回 一個空數(shù)組 。

示例 1:

輸入:numCourses = 2, prerequisites = [[1,0]]
輸出:[0,1]
解釋:總共有 2 門課程。要學(xué)習(xí)課程 1,你需要先完成課程 0。因此,正確的課程順序為 [0,1] 。
示例 2:

輸入:numCourses = 4, prerequisites = [[1,0],[2,0],[3,1],[3,2]]
輸出:[0,2,1,3]
解釋:總共有 4 門課程。要學(xué)習(xí)課程 3,你應(yīng)該先完成課程 1 和課程 2。并且課程 1 和課程 2 都應(yīng)該排在課程 0 之后。
因此,一個正確的課程順序是 [0,1,2,3] 。另一個正確的排序是 [0,2,1,3] 。
示例 3:

輸入:numCourses = 1, prerequisites = []
輸出:[0]

提示:
1 <= numCourses <= 2000
0 <= prerequisites.length <= numCourses * (numCourses - 1)
prerequisites[i].length == 2
0 <= ai, bi < numCourses
ai != bi
所有[ai, bi] 互不相同

?? 求解思路&實現(xiàn)代碼&運(yùn)行結(jié)果


? 圖+拓?fù)渑判?/h4>

?? 求解思路
  1. 首先在求解這道題目之前,可以先來學(xué)習(xí)一下昨天的題目,課程表1,207. 課程表
    ,博客鏈接地址放到這里了,需要的同學(xué)可以直接跳轉(zhuǎn),課程表1博客地址,這道題目是上一道題目的變種,總體的求解思路是一樣的,只需要求出拓?fù)渑判虻囊环N順序即可。
  2. 有了基本的思路,接下來我們就來通過代碼來實現(xiàn)一下。
?? 實現(xiàn)代碼
class Solution {
    public int[] findOrder(int numCourses, int[][] prerequisites) {
        int m=prerequisites.length;
        if(numCourses==0||prerequisites==null) return new int[]{};
        int[] degree=new int[numCourses];
        ArrayList<Integer>[] list=new ArrayList[numCourses];
        Arrays.setAll(list,e->new ArrayList<>());
        Queue<Integer> queue=new LinkedList<>();
        for(int i=0;i<m;i++){
            int[] temp=prerequisites[i];
            int from=temp[1],to=temp[0];
            list[from].add(to);
            degree[to]++;
        }
        for(int i=0;i<numCourses;i++){
            if(degree[i]==0){
                queue.add(i);
            }
        }
        int[] ans=new int[numCourses];
        int cnt=0;
        while(!queue.isEmpty()){
            int next=queue.poll();
            ans[cnt++]=next;
            for(int v:list[next]){
                if(--degree[v]==0){
                    queue.add(v);
                }
            }
        }
        return cnt==numCourses?ans:new int[]{};
    }
}
?? 運(yùn)行結(jié)果

時間復(fù)雜度&空間復(fù)雜度

【LeetCode: 210. 課程表 II:拓?fù)渑判?圖】,LeetCode每日一題打卡,leetcode,算法,java,拓?fù)渑判?圖論,面試


?? 共勉

最后,我想和大家分享一句一直激勵我的座右銘,希望可以與大家共勉!

【LeetCode: 210. 課程表 II:拓?fù)渑判?圖】,LeetCode每日一題打卡,leetcode,算法,java,拓?fù)渑判?圖論,面試

【LeetCode: 210. 課程表 II:拓?fù)渑判?圖】,LeetCode每日一題打卡,leetcode,算法,java,拓?fù)渑判?圖論,面試文章來源地址http://www.zghlxwxcb.cn/news/detail-704004.html

到了這里,關(guān)于【LeetCode: 210. 課程表 II:拓?fù)渑判?圖】的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【力扣熱題100】207. 課程表 python 拓?fù)渑判? decoding=
  • 2023-09-09 LeetCode每日一題(課程表)

    2023-09-09 LeetCode每日一題(課程表)

    點(diǎn)擊跳轉(zhuǎn)到題目位置 你這個學(xué)期必須選修 numCourses 門課程,記為 0 到 numCourses - 1 。 在選修某些課程之前需要一些先修課程。 先修課程按數(shù)組 prerequisites 給出,其中 prerequisites[i] = [ai, bi] ,表示如果要學(xué)習(xí)課程 ai 則 必須 先學(xué)習(xí)課程 bi 。 例如,先修課程對 [0, 1] 表示:想要學(xué)

    2024年02月09日
    瀏覽(20)
  • 2023-09-11 LeetCode每日一題(課程表 III)

    2023-09-11 LeetCode每日一題(課程表 III)

    點(diǎn)擊跳轉(zhuǎn)到題目位置 這里有 n 門不同的在線課程,按從 1 到 n 編號。給你一個數(shù)組 courses ,其中 courses[i] = [durationi, lastDayi] 表示第 i 門課將會 持續(xù) 上 durationi 天課,并且必須在不晚于 lastDayi 的時候完成。 你的學(xué)期從第 1 天開始。且不能同時修讀兩門及兩門以上的課程。 返

    2024年02月09日
    瀏覽(21)
  • java實現(xiàn)課程表 II

    題目: 現(xiàn)在你總共有? numCourses ?門課需要選,記為? 0 ?到? numCourses - 1 。給你一個數(shù)組? prerequisites ?,其中? prerequisites[i] = [ai, bi] ?,表示在選修課程? ai ?前? 必須 ?先選修? bi ?。 例如,想要學(xué)習(xí)課程? 0 ?,你需要先完成課程? 1 ?,我們用一個匹配來表示: [0,1] ?。

    2024年02月09日
    瀏覽(17)
  • 想要精通算法和SQL的成長之路 - 課程表II

    想要精通算法和SQL的成長之路 - 課程表II

    想要精通算法和SQL的成長之路 - 系列導(dǎo)航 原題鏈接 核心知識: 拓?fù)渑判蚴菍iT 應(yīng)用于有向圖的算法。 BFS 的寫法就叫拓?fù)渑判?,核心就是?讓入度為0的節(jié)點(diǎn)入隊。 拓?fù)渑判虻?結(jié)果不唯一。 同時拓?fù)渑判蛴幸粋€重要的功能: 能夠檢測有向圖中是否存在環(huán)。 我們先分析一下

    2024年02月09日
    瀏覽(18)
  • leetcode207. 課程表

    你這個學(xué)期必須選修 numCourses 門課程,記為 0 到 numCourses - 1 。 在選修某些課程之前需要一些先修課程。 先修課程按數(shù)組 prerequisites 給出,其中 prerequisites[i] = [ai, bi] ,表示如果要學(xué)習(xí)課程 ai 則 必須 先學(xué)習(xí)課程 bi 。 例如,先修課程對 [0, 1] 表示:想要學(xué)習(xí)課程 0 ,你需要先

    2023年04月24日
    瀏覽(21)
  • leetcode 630. 課程表 III

    這里有 n 門不同的在線課程,按從 1 到 n 編號。給你一個數(shù)組 courses ,其中 courses[i] = [durationi, lastDayi] 表示第 i 門課將會 持續(xù) 上 durationi 天課,并且必須在不晚于 lastDayi 的時候完成。 你的學(xué)期從第 1 天開始。且不能同時修讀兩門及兩門以上的課程。 返回你最多可以修讀的課

    2024年02月16日
    瀏覽(13)
  • 【圖論】Leetcode 207. 課程表【中等】

    你這個學(xué)期必須選修 numCourses 門課程,記為 0 到 numCourses - 1 。 在選修某些課程之前需要一些先修課程。 先修課程按數(shù)組 prerequisites 給出,其中 prerequisites[i] = [ai, bi] ,表示如果要學(xué)習(xí)課程 ai 則 必須 先學(xué)習(xí)課程 bi 。 例如,先修課程對 [0, 1] 表示:想要學(xué)習(xí)課程 0 ,你需要先

    2024年04月14日
    瀏覽(26)
  • LeetCode 0630.課程表 III:貪心 + 優(yōu)先隊列

    力扣題目鏈接:https://leetcode.cn/problems/course-schedule-iii/ 這里有 n 門不同的在線課程,按從 1 到 n ?編號。給你一個數(shù)組 courses ,其中 courses[i] = [duration i , lastDay i ] 表示第 i 門課將會 持續(xù) 上 duration i 天課,并且必須在不晚于 lastDay i 的時候完成。 你的學(xué)期從第 1 天開始。且不能

    2024年02月09日
    瀏覽(20)
  • Python每日一練(20230505) 課程表 Course Schedule III/IV

    Python每日一練(20230505) 課程表 Course Schedule III/IV

    目錄 3. 課程表 Course Schedule III 4. 課程表 Course Schedule IV ?? 每日一練刷題專欄??? Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專欄 這里有? n ?門不同的在線課程,按從? 1 ?到? n ?編號。給你一個數(shù)組? courses ?,其中? courses[i] = [durationi, lastDayi

    2024年02月03日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包