码迷,mamicode.com
首页 > 其他好文 > 详细

寒武纪二面:

时间:2020-08-20 18:20:10      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:new   lis   内存   amp   cto   clu   auto   next   using   

2020.08.05

1、多线程

2、IPC、共享内存

3、bind

4、合并n个有序链表 (力扣原题 使用最小堆会快一些)

 

#include <queue>

using namespace std;

 

struct ListNode {

    int val;

    ListNode* next;

    ListNode(int x) : val(x), next(NULL) {}

};

 

class Solution {

    struct cmp {

        bool operator() (ListNode* a, ListNode* b) {

            return a->val > b->val;

        }

    };

    

    ListNode* mergeKLists(vector<ListNode*>& lists) {

        priority_queue<ListNode*, vector<ListNode*>, cmp> pri;

        for (auto &elem : lists) {

            if (elem) {

                pri.push(elem);

            }

        }

        

        ListNode* head = new ListNode(0);

        ListNode* pre = head;

        while(!pri.empty()) {

            pre->next = pri.top();

            ListNode* tmp = pri.top()->next;

            pri.pop();

            if (tmp) {

                pri.push(tmp);

            }

            pre = pre->next;

        }

        

        pre = head->next;

        delete head;

        

        return pre;

    };

};

寒武纪二面:

标签:new   lis   内存   amp   cto   clu   auto   next   using   

原文地址:https://www.cnblogs.com/xiaohaigegede/p/13520225.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!