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

23. 合并 K 個升序鏈表(遞歸分治)

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

這是我的第一個自己ak的分治題目?。?!好耶?。。湴聊?mark hidden color="red">文章來源:http://www.zghlxwxcb.cn/news/detail-792481.html

思路參考:148. 排序鏈表(歸并排序)文章來源地址http://www.zghlxwxcb.cn/news/detail-792481.html

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode mergeKLists(ListNode[] lists) {
        return dfs(lists, 0, lists.length - 1);
    }
    public ListNode dfs(ListNode[] lists, int head, int tail) {
        if (head > tail) return null;
        if (head == tail) return lists[head];
        int mid = (head + tail) / 2;
        ListNode node1 = dfs(lists, head, mid);
        ListNode node2 = dfs(lists, mid + 1, tail);
        ListNode node = merge(node1, node2);
        return node;
    }
    public ListNode merge(ListNode node1, ListNode node2) {
        ListNode node = new ListNode(0);
        ListNode temp = node, temp1 = node1, temp2 = node2;
        while (temp1 != null && temp2 != null) {
            if (temp1.val < temp2.val) {
                temp.next = temp1;
                temp1 = temp1.next;
            } else {
                temp.next = temp2;
                temp2 = temp2.next;
            }
            temp = temp.next;
        }
        if (temp1 != null) temp.next = temp1;
        if (temp2 != null) temp.next = temp2;
        return node.next;
    }
}

到了這里,關(guān)于23. 合并 K 個升序鏈表(遞歸分治)的文章就介紹完了。如果您還想了解更多內(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ī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

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

相關(guān)文章

  • 【力扣每日一題】23. 合并 K 個升序鏈表 &暴力法-快排 & 8.12打卡

    【力扣每日一題】23. 合并 K 個升序鏈表 &暴力法-快排 & 8.12打卡

    合并 K 個升序鏈表 難度: 困難 描述: 給你一個鏈表數(shù)組,每個鏈表都已經(jīng)按升序排列。 請你將所有鏈表合并到一個升序鏈表中,返回合并后的鏈表。 示例 1: 輸入: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 ] 將它們合并到一個有序

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

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

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

    2024年02月13日
    瀏覽(24)
  • 【LeetCode 算法】Merge k Sorted Lists 合并 K 個升序鏈表

    給你一個鏈表數(shù)組,每個鏈表都已經(jīng)按升序排列。 請你將所有鏈表合并到一個升序鏈表中,返回合并后的鏈表。 k = = l i s t s . l e n g t h 0 = k = 1 0 4 0 = l i s t s [ i ] . l e n g t h = 500 ? 1 0 4 = l i s t s [ i ] [ j ] = 1 0 4 l i s t s [ i ] 按升序排列 l i s t s [ i ] . l e n g t h 的總和不超過 1 0

    2024年02月13日
    瀏覽(17)
  • Leetcode算法遞歸類—合并兩個有序鏈表

    Leetcode算法遞歸類—合并兩個有序鏈表

    目錄 21.?合并兩個有序鏈表 題解: 代碼: 將兩個升序鏈表合并為一個新的? 升序 ?鏈表并返回。新鏈表是通過拼接給定的兩個鏈表的所有節(jié)點(diǎn)組成的。? 示例 1: 示例 2: 示例 3: 提示: 兩個鏈表的節(jié)點(diǎn)數(shù)目范圍是? [0, 50] -100 = Node.val = 100 l1 ?和? l2 ?均按? 非遞減順序 ?

    2024年02月13日
    瀏覽(33)
  • 合并 k 個升序的鏈表

    C++——優(yōu)先級隊列(priority_queue)_c++priority_queue__好好學(xué)習(xí)的博客-CSDN博客 那么這道題就可以用小頂堆 分治的思想,歸并排序的思想

    2024年02月10日
    瀏覽(18)
  • 合并 K 個升序鏈表[困難]

    合并 K 個升序鏈表[困難]

    給你一個鏈表數(shù)組,每個鏈表都已經(jīng)按升序排列。請你將所有鏈表合并到一個升序鏈表中,返回合并后的鏈表。 示例 1: 輸入: 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 示例 2: 輸入

    2024年02月02日
    瀏覽(14)
  • 合并兩個有序鏈表,將兩個升序鏈表合并為一個新的 升序 鏈表并返回。新鏈表是通過拼接給定的兩個鏈表的所有節(jié)點(diǎn)組成的。

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

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

    2024年02月07日
    瀏覽(30)
  • 面試熱題(合并K個升序鏈表)

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

    給定一個鏈表數(shù)組,每個鏈表都已經(jīng)按升序排列。 請將所有鏈表合并到一個升序鏈表中,返回合并后的鏈表。 ? ? ? ?這道題看似困難題,其實(shí)還是比較容易好想的,我們可以維護(hù)一個優(yōu)先最小隊列,然后聲明一個虛擬頭結(jié)點(diǎn),每次出一個最小的節(jié)點(diǎn)掛載在已經(jīng)掛載節(jié)點(diǎn)的后

    2024年02月12日
    瀏覽(17)
  • 【力扣每日一題】2023.8.12 合并K個升序鏈表

    【力扣每日一題】2023.8.12 合并K個升序鏈表

    目錄 題目: 示例: 分析: 代碼: 題目給我們一個鏈表數(shù)組,數(shù)組里的鏈表都是升序的,讓我們合并這些鏈表,要求合并之后還是升序的。 最簡單最直觀的做法就是遍歷整個數(shù)組,把每個鏈表的節(jié)點(diǎn)都取出來塞到一個容器里,然后對容器進(jìn)行升序排序,接著按順序重新串連

    2024年02月13日
    瀏覽(22)
  • 數(shù)據(jù)結(jié)構(gòu)--遞歸與分治

    數(shù)據(jù)結(jié)構(gòu)--遞歸與分治

    漢諾塔分析: 以三層進(jìn)行分析,大于三層分析情況是一樣的。 ? ?八皇后問題:

    2024年02月11日
    瀏覽(17)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包