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

面試熱題(合并K個升序鏈表)

這篇具有很好參考價值的文章主要介紹了面試熱題(合并K個升序鏈表)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

給定一個鏈表數(shù)組,每個鏈表都已經(jīng)按升序排列。

請將所有鏈表合并到一個升序鏈表中,返回合并后的鏈表。

輸入:lists = [[1,4,5],[1,3,4],[2,6]]
輸出:[1,1,2,3,4,4,5,6]
解釋:鏈表數(shù)組如下:
[
  1->4->5,
  1->3->4,
  2->6
]
將它們合并到一個有序鏈表中得到。
1->1->2->3->4->4->5->6

? ? ? ?這道題看似困難題,其實還是比較容易好想的,我們可以維護一個優(yōu)先最小隊列,然后聲明一個虛擬頭結(jié)點,每次出一個最小的節(jié)點掛載在已經(jīng)掛載節(jié)點的后面,當隊列為空時,就說明我們K個升序列表已經(jīng)合并完成

面試熱題(合并K個升序鏈表),熱題Hot100,面試,鏈表

?文章來源地址http://www.zghlxwxcb.cn/news/detail-650324.html

public ListNode mergeKLists(ListNode[] lists) {
     if(lists==null||lists.length==0){
         return null;
     }
     //自定義比較器
     PriorityQueue<ListNode> queue=new PriorityQueue<>(new Comparator<ListNode>() {
         @Override
         public int compare(ListNode o1, ListNode o2) {
             return o1.val-o2.val;
         }
     });
     //將K個節(jié)點的頭結(jié)點入隊
     for(ListNode node:lists){
         if(node!=null){
           queue.offer(node);
         }
     }
     //創(chuàng)建一個虛擬頭結(jié)點
     ListNode dummyNode=new ListNode(-1);
     ListNode curNode=dummyNode;
     while(!queue.isEmpty()){
         ListNode cur=queue.poll();
         curNode.next=cur;
         //更新curNode
         curNode=curNode.next;
         //如果當前節(jié)點的next不為空,則讓下一個節(jié)點進行入隊
         if(cur.next!=null){
             queue.offer(cur.next);
         }
     }
     return dummyNode.next;
    }

到了這里,關于面試熱題(合并K個升序鏈表)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • 合并兩個有序鏈表,將兩個升序鏈表合并為一個新的 升序 鏈表并返回。新鏈表是通過拼接給定的兩個鏈表的所有節(jié)點組成的。

    合并兩個有序鏈表,將兩個升序鏈表合并為一個新的 升序 鏈表并返回。新鏈表是通過拼接給定的兩個鏈表的所有節(jié)點組成的。

    題記: 將兩個升序鏈表合并為一個新的 升序 鏈表并返回。新鏈表是通過拼接給定的兩個鏈表的所有節(jié)點組成的。 示例 1: 輸入 :l1 = [1,2,4], l2 = [1,3,4] 輸出 :[1,1,2,3,4,4] 示例 2: 輸入 :l1 = [], l2 = [] 輸出 :[] 示例 3: 輸入 :l1 = [], l2 = [0] 輸出 :[0] 提示: 兩個鏈表的節(jié)點數(shù)

    2024年02月07日
    瀏覽(30)
  • 《LeetCode 熱題 HOT 100》——尋找兩個正序數(shù)組的中位數(shù)

    《LeetCode 熱題 HOT 100》——尋找兩個正序數(shù)組的中位數(shù)

    本期給大家?guī)淼氖鞘恰?LeetCode 熱題 HOT 100 》第四題—— 尋找兩個正序數(shù)組的中位數(shù)的 題目講解 !?。。ǎ?本文目錄 ??題意分析 ??解題思路: 1、直接法? (?) 2、歸并思想?(?) ①《LeetCode》第88題——合并兩個有序數(shù)組 3、二分查找(??) 整體思想: 題目如下

    2023年04月27日
    瀏覽(19)
  • 23. 合并 K 個升序鏈表(遞歸分治)

    這是我的第一個自己ak的分治題目?。?!好耶!?。湴聊?思路參考:148. 排序鏈表(歸并排序)

    2024年01月16日
    瀏覽(19)
  • LeetCode23.合并K個升序鏈表

    給你一個鏈表數(shù)組,每個鏈表都已經(jīng)按升序排列。 請你將所有鏈表合并到一個升序鏈表中,返回合并后的鏈表。 輸入:lists = [[1,4,5],[1,3,4],[2,6]] 輸出:[1,1,2,3,4,4,5,6] 解釋:鏈表數(shù)組如下: [ 1-4-5, 1-3-4, 2-6 ] 將它們合并到一個有序鏈表中得到。 1-1-2-3-4-4-5-6 要將多個已按升序排

    2024年02月21日
    瀏覽(22)
  • 合并K個升序鏈表(LeetCode 23)

    合并K個升序鏈表(LeetCode 23)

    給你一個鏈表數(shù)組,每個鏈表都已經(jīng)按升序排列。 請你將所有鏈表合并到一個升序鏈表中,返回合并后的鏈表。 示例 1: 示例 2: 示例 3: Hard。 ★★★★☆ 我們可以想到一種最樸素的方法,依次將鏈表數(shù)組中的鏈表與最終結(jié)果合并。問題便退化成合并兩個有序鏈表。 如何

    2024年01月19日
    瀏覽(16)
  • LeetCode 23 合并 K 個升序鏈表

    LeetCode 23 合并 K 個升序鏈表

    來源:力扣(LeetCode) 鏈接:https://leetcode.cn/problems/merge-k-sorted-lists/description/ 博主Github :https://github.com/GDUT-Rp/LeetCode 給你一個鏈表數(shù)組,每個鏈表都已經(jīng)按升序排列。 請你將所有鏈表合并到一個升序鏈表中,返回合并后的鏈表。 示例1 : 示例2 : 示例3 : 提示: k == lists.length

    2024年02月10日
    瀏覽(16)
  • Leetcode—23.合并 K 個升序鏈表【困難】

    Leetcode—23.合并 K 個升序鏈表【困難】

    用容量為K的最小堆優(yōu)先隊列,把鏈表的頭結(jié)點都放進去,然后出隊當前優(yōu)先隊列中最小的,掛上鏈表,,然后讓出隊的那個節(jié)點的下一個入隊,再出隊當前優(yōu)先隊列中最小的,直到優(yōu)先隊列為空。 之后我會持續(xù)更新,如果喜歡我的文章,請記得一鍵三連哦,點贊關注收藏,

    2024年01月25日
    瀏覽(25)
  • LeetCode 熱題 100 | 鏈表(上)

    LeetCode 熱題 100 | 鏈表(上)

    目錄 1? 基礎知識 1.1? 空指針 1.2? 結(jié)構(gòu)體 1.3? 指針訪問 1.4? 三目運算符 2? 160. 相交鏈表 3? 206. 反轉(zhuǎn)鏈表 4? 234. 回文鏈表 菜鳥做題第三周,語言是 C++ 1? 基礎知識 1.1? 空指針 使用 nullptr 來判斷是否為空指針: “NULL 在 C++ 中就是 0,這是因為在 C++ 中 void* 類型是不允許隱式

    2024年02月19日
    瀏覽(20)
  • LeetCode熱題100——鏈表

    LeetCode熱題100——鏈表

    給你兩個單鏈表的頭節(jié)點 headA 和 headB ,請你找出并返回兩個單鏈表相交的起始節(jié)點。如果兩個鏈表不存在相交節(jié)點,返回 null 。 給你單鏈表的頭節(jié)點 head ,請你反轉(zhuǎn)鏈表,并返回反轉(zhuǎn)后的鏈表。 給你一個單鏈表的頭節(jié)點 head ,請你判斷該鏈表是否為回文鏈表。如果是,返回

    2024年02月05日
    瀏覽(22)
  • 2023-08-12 LeetCode每日一題(合并 K 個升序鏈表)

    2023-08-12 LeetCode每日一題(合并 K 個升序鏈表)

    點擊跳轉(zhuǎn)到題目位置 給你一個鏈表數(shù)組,每個鏈表都已經(jīng)按升序排列。 請你將所有鏈表合并到一個升序鏈表中,返回合并后的鏈表。 示例 1: 示例 2: 示例 3:

    2024年02月13日
    瀏覽(25)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包