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

LC 1439. Find the Kth Smallest Sum of a Matrix With Sorted Rows

时间:2020-05-03 20:13:29      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:https   with   ref   ems   href   com   priority   problem   inf   

link

技术图片

 

 

class Solution {
public:
    struct Comp{
        bool operator()(vector<int>& v1, vector<int>& v2){
            return v1[0]+v1[1]>v2[0]+v2[1];
        }
    };
    
    int kthSmallest(vector<vector<int>>& mat, int k) {
        vector<int> sum=mat[0];
        int m=mat.size();
        for(int i=1;i<m;i++){
            sum=helper(sum,mat[i]);
        }
        return sum[k-1];
    }
    
    vector<int> helper(vector<int>& num1, vector<int>& num2){
        priority_queue<vector<int>, vector<vector<int>>, Comp> pq; 
        for(int i=0;i<num2.size();i++){
            pq.push({num2[i],num1[0],0});
        }
        vector<int> res;
        while(!pq.empty()){
            auto cur=pq.top();
            pq.pop();
            res.push_back(cur[0]+cur[1]);
            if(res.size()==200) break;
            if(cur[2]<num1.size()-1){
                pq.push({cur[0],num1[cur[2]+1],cur[2]+1});
            }
        }
        return res;
    }
};

 

LC 1439. Find the Kth Smallest Sum of a Matrix With Sorted Rows

标签:https   with   ref   ems   href   com   priority   problem   inf   

原文地址:https://www.cnblogs.com/FEIIEF/p/12823072.html

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