首页 > 其他 > 详细

[5]力扣每日一题&南通一日游随感

时间:2020-05-02 00:16:18      阅读:70      评论:0      收藏:0      [点我收藏+]

题目呈现如下:

技术分享图片
题目传送门

思路介绍:

  • 以下AC代码用的是合并K个排序链表相类似的代码,采用哨兵节点,用优先队列维护一个小顶堆.
  • 可用递归编程.递归出口:l1为空则返回l2,l2为空则返回l1;递归中间过程为:若l1首元素较大,则next=mergeTwoLists(l1.next,l2),即两个新链表的头节点;若l2首元素较大同理.代码未附.

下附AC代码:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
 struct functional {
     bool operator() (ListNode* n1,ListNode* n2) {
        return n1->val > n2->val; // 构建小根堆,我猜测返回的布尔值的意义是:是否对n1进行down操作与n2调换位置
    }
 };
class Solution {
public:
    ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
        priority_queue<ListNode*,vector<ListNode*>,functional> pq;
        ListNode* dummyHead = new ListNode(0); // 哨兵
        ListNode* cur = dummyHead;
        if(l1) pq.push(l1);
        if(l2) pq.push(l2);
        while(!pq.empty()) {
            ListNode* nxt = pq.top();
            pq.pop();
            cur->next = nxt;
            cur = cur->next;
            if(nxt->next) pq.push(nxt->next);
        }
        return dummyHead->next;
    }
};

附加:

今日和友人一同游玩南通,畅游濠河(甚至‘负距离‘感受了一下濠河[doge])??
感觉南通的城市节奏貌似比长春更加紧凑一些,但相比上海又慢上许多.
我人生的最大一部分仍然是在上海度过的,但我对上海的记忆正在逐渐被掩盖.上海固然广阔,却也会让普通人顿感天高地迥,感到不自在的渺小.
今天看Bilibili的一个程序媛讲述在帝都地铁上被欺负都不敢还手的故事,听得着实有些透不过气来.
而小海门似乎确实渺小了一些,魔幻的房价有几分内卷和割韭菜的气息(某厂某乐等地方大量的上海人买房??),而且个人觉得,其相比启东而言,GDP的水分可能更足一点.
在选择的重要性有时会盖过努力的如今,考虑仍将持续.对美好生活的向往,也刚刚启程.
技术分享图片

[5]力扣每日一题&南通一日游随感

原文:https://www.cnblogs.com/tsuipo/p/12815436.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!