当前位置: 代码迷 >> 综合 >> Leetcode 1253. 重构 2 行二进制矩阵(DAY 131) ---- 贪心算法学习期
  详细解决方案

Leetcode 1253. 重构 2 行二进制矩阵(DAY 131) ---- 贪心算法学习期

热度:31   发布时间:2023-11-17 18:02:11.0

原题题目

在这里插入图片描述


代码实现(首刷自解)

class Solution {
    
public:vector<vector<int>> reconstructMatrix(int upper, int lower, vector<int>& colsum) {
    int sum = 0,flag = 0;for(const auto& num:colsum) sum += num;vector<vector<int>> ret(2,vector<int>(colsum.size(),0)),temp;if(upper+lower != sum)  return temp;for(int i=0;i<colsum.size();++i){
    if(!colsum[i])  continue;flag = upper<lower;if(colsum[i] == 1){
    ret[flag][i] = 1;if(flag)    --lower;else    --upper;}else{
    ret[0][i] = ret[1][i] = 1;--lower;--upper;}if(lower<0 || upper<0)  return temp;if(!lower && !upper)    break;}if(lower>0 || upper>0)  return temp;return ret;}
};