当前位置: 首页 > news >正文

1253. 重构 2 行二进制矩阵

1253. 重构 2 行二进制矩阵

给你一个 2 行 n 列的二进制数组:

  • 矩阵是一个二进制矩阵,这意味着矩阵中的每个元素不是 0 就是 1
  • 第 0 行的元素之和为 upper
  • 第 1 行的元素之和为 lower
  • 第 i 列(从 0 开始编号)的元素之和为 colsum[i]colsum 是一个长度为 n 的整数数组。

你需要利用 upperlower 和 colsum 来重构这个矩阵,并以二维整数数组的形式返回它。

如果有多个不同的答案,那么任意一个都可以通过本题。

如果不存在符合要求的答案,就请返回一个空的二维数组。

示例 1:

输入:upper = 2, lower = 1, colsum = [1,1,1]
输出:[[1,1,0],[0,0,1]]
解释:[[1,0,1],[0,1,0]] 和 [[0,1,1],[1,0,0]] 也是正确答案。

示例 2:

输入:upper = 2, lower = 3, colsum = [2,2,1,1]
输出:[]

示例 3:

输入:upper = 5, lower = 5, colsum = [2,1,2,0,1,0,1,2,0,1]
输出:[[1,1,1,0,1,0,0,1,0,0],[1,0,1,0,0,0,1,1,0,1]]

提示:

  • 1 <= colsum.length <= 10^5
  • 0 <= upper, lower <= colsum.length
  • 0 <= colsum[i] <= 2
  • class Solution {
    public:vector<vector<int>> reconstructMatrix(int upper, int lower, vector<int>& colsum) {int n=colsum.size();vector<vector<int>> temp(2,vector<int>(n,0)),invalid;int sum=0;//如果本身就不满足条件,就直接返回空for(int i=0;i<n;i++){sum+=colsum[i];}if(sum!=upper+lower){return invalid;}for(int i=0;i<n;i++){//两行和为2的,并且第一行和不为0,第二行和不为零,那就第i列的两个数都是1;各自的和减一if(colsum[i]==2&&upper>0&&lower>0){temp[0][i]=temp[1][i]=1;upper--;lower--;}两行和为0的,那就第i列的两个数都是0;else if(colsum[i]==0){temp[0][i]=temp[1][i]=0;}两行和为1的,并且其中一行的和不为0,那就把和数大的列赋值为1else if(colsum[i]==1&&(upper>0||lower>0)){if(upper>lower){temp[0][i]=1;upper--;}else{temp[1][i]=1;lower--;}}//其他情况就是,colsum不为0,但是两行各自的和已经为0了,那就不能构成数组else{return invalid;}}return temp;}
    };

相关文章:

1253. 重构 2 行二进制矩阵

1253. 重构 2 行二进制矩阵 给你一个 2 行 n 列的二进制数组&#xff1a; 矩阵是一个二进制矩阵&#xff0c;这意味着矩阵中的每个元素不是 0 就是 1。第 0 行的元素之和为 upper。第 1 行的元素之和为 lower。第 i 列&#xff08;从 0 开始编号&#xff09;的元素之和为 cols…...

安全—01day

文章目录 1. 编码1.1 ASCLL编码1.2 URL编码1.3 Unicode编码1.4 HTML编码1.5 Base64编码 2. form表单2.1 php接收form表单2.2 python接收form表单 1. 编码 1.1 ASCLL编码 ASCII 是基于拉丁字母的一套电脑编码系统&#xff0c;主要用于显示现代英语和其他西欧语言。它是最通用的…...

【Git】Please commit your changes or stash them before you merge的解决方法

背景 我从远程库中clone了一个项目进行开发&#xff0c;修改了一部分代码后&#xff0c;远程库有更新&#xff0c;我想将远程更新拉取下来&#xff0c;并且保留自己的更改&#xff0c;使用git pull origin master命令&#xff0c;有报错&#xff1a; error: Your local chang…...

网卡收发包系统结构收发包流程,tcp/ip协议,socket套接字缓冲区,滑动窗口,mtu/mss

MTU和MSS的区别 MTU和MSS的区别 TCP 的 MTU & MSS MTU是在那一层&#xff1f;MSS在那一层&#xff1f; MTU是在数据链路层的载荷大小也就是传给网络层的大小&#xff0c;mss是在传输层的载荷大小也就是传给应用层的大小 mss是根据mtu得到的 1、MTU&#xff1a; Maximu…...

VUE之axios使用,跨域问题,拦截器添加Token

参考资料: 参考视频 视频资料及个人demo Axios中文文档 VUE之基本部署及VScode常用插件 VUE之基本组成和使用 VUE之Bootstrap和Element-UI的使用 准备工作: 关于SpringBoot和SpringCloud的搭建,以及mybatis-plus的整合见本人之前的CSDN博客,下面编写get请求和post请求…...

阿里云函数计算签名认证(iOS实现细节备注)

1、使用第三方库 AFNetworking进行网络请求。 2、阿里云函数计算签名认证文档 3、文档中添加 CanonicalizedFCHeaders 可以不用添加&#xff0c;CanonicalizedResource如何没有设置Path&#xff0c;在末尾加入“/”就可以了。 4、主要还是 hmac-sha256 签名认证&#xff0c;在实…...

成都爱尔蔡裕:泡在“糖”里的脆弱血管,暴露在眼睛深处

糖尿病是一组由多病因引起的以慢性高血糖为特征的终身性代谢性疾病。长期血糖增高&#xff0c;大血管、微血管受损并危及心、脑、肾、周围神经、眼睛、足等。医生临床数据显示&#xff0c;糖尿病发病后10年左右&#xff0c;将有30%&#xff5e;40%的患者至少会发生一种并发症&a…...

神经网络小记-过拟合与欠拟合

过拟合 过拟合&#xff08;Overfitting&#xff09;是机器学习和深度学习中常见的问题&#xff0c;指模型在训练数据上表现得非常好&#xff0c;但在新数据上表现较差&#xff0c;即模型过度拟合了训练数据的特征&#xff0c;导致泛化能力不足。 解决过拟合的方式包括以下几种…...

外贸行业企业邮箱选择:安全好用的邮箱服务

随着全球化的发展&#xff0c;外贸行业在全球经济中越来越重要。作为一家从事对外贸易的企业&#xff0c;可靠、安全、易用的邮箱系统对于成功的国际交易至关重要。为您的企业选择正确的邮箱解决方案可能是一个挑战。为了使选择过程更加简化&#xff0c;我们在这里提供了一些提…...

flutter开发实战-RepaintBoundary实现Widget截图功能

flutter开发实战-RepaintBoundary实现Widget截图功能 在开发中&#xff0c;遇到需要使用截图&#xff0c;像iOS可以截图UIView获取到UIImage&#xff0c;在flutter中可以使用RepaintBoundary实现截图功能 相机拍摄的图片&#xff1a; RepaintBoundary截图后的图片 一、Re…...

vue中路由懒加载的写法

为什么需要路由懒加载&#xff1f; 当打包构建应用时&#xff0c;JavaScript 包会变得非常大&#xff0c;影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块&#xff0c;然后当路由被访问的时候才加载对应组件&#xff0c;这样就会更加高效。 懒加载写法 写法…...

【Spring MVC】小文件上传的多种方法

文章目录 方法参数单文件上传1. MultipartFile 的 transferTo(File dest)2. MultipartFile 的 transferTo(Path dest)3. MultipartFile Files.write(Path path, byte[] bytes, OpenOption... options)4. MultipartFile Files.copy(InputStream in, Path target, CopyOption..…...

UE5.1移动端PreintegratedSkinBxDF解析

Part 1 头文件 MobileBasePassPixelShader.usf 主要看Main函数&#xff1a; #if MOBILE_MULTI_VIEWResolvedView ResolveView(BasePassInterpolants.MultiViewId); #elseResolvedView ResolveView(); #endif这玩意Shader文件找不到&#xff0c;感觉是个全局变量的东西。万幸…...

WebSocket心跳机制(笔记大全)

一、WebSocket心跳机制前端 前端实现WebSocket心跳机制的方式主要有两种&#xff1a; 使用setInterval定时发送心跳包。在前端监听到WebSocket的onclose()事件时&#xff0c;重新创建WebSocket连接。 第一种方式会对服务器造成很大的压力&#xff0c;因为即使WebSocket连接正…...

Spring Boot日志:SLF4J和Logback

日志的分类 SpringBoot中的日志库分为两种&#xff1a; 实现库&#xff1a;提供具体的日志实现&#xff0c;例如日志级别的控制、打印格式、输出目标等。外观库&#xff1a;自身不提供日志实现&#xff0c;而是对其他日志库进行封装&#xff0c;从而方便使用。基于外观模式实…...

[C++] C++入门第二篇 -- 引用 -- 内联函数inline -- auto+for

目录 1、引用 -- & 1.1 引用的概念 1.2 引用特性 1.3 常引用 -- 权限问题 1.4 引用的使用场景 1.4.1 做参数 1.4.2 做返回值 注意 1.5 传值、传引用的效率比较 1.6 引用和指针的区别 2、内联函数 2.1 概念 转存失败重新上传取消​编辑转存失败重新上传取消​编…...

Latex | 将MATLAB图并导入Latex中的方法

一、问题描述 用Latex时写paper时&#xff0c;要导入MATLAB生成的图进去 二、解决思路 &#xff08;1&#xff09;在MATLAB生成图片的窗口中&#xff0c;导出.eps矢量图 &#xff08;2&#xff09;把图上传到overleaf的目录 &#xff08;3&#xff09;在文中添加相应代码 三…...

JSON格式Python,Java,PHP等封装根据关键词搜索获取淘宝商品列表数据API

淘宝是一个网上购物平台&#xff0c;售卖各类商品&#xff0c;包括服装、鞋类、家居用品、美妆产品、电子产品等。要用关键词搜索获取淘宝天猫商品列表&#xff0c;您可以通过开放平台的接口或者直接访问淘宝天猫商城的网页来获取商品列表详细信息。以下是两种常用方法的介绍&a…...

MySQL MHA高可用配置及故障切换

文章目录 一.MySQL MHA1.什么是MHA&#xff12;.&#xff2d;&#xff28;&#xff21;的组成&#xff12;.&#xff11;MHA Node (数据节点)&#xff12;.&#xff12;MHA Manager (管理节点) &#xff13;.&#xff2d;&#xff28;&#xff21;的特点&#xff14;.&#xf…...

PHP8知识详解:PHP8开发工具VS Code的安装

作为PHP8的开发工具有很多&#xff0c;具有IDE功能的有phpstorm、Visual Studio Code、Sublime Text、NetBeans、Eclipse、Codelobster、PHP Designer等&#xff0c;当然还有很多轻量的工具&#xff0c;比如Notepad、Editplus等。本文给你介绍的是万能编辑器Visual Studio Code…...

智能体公司的发展都会变成解决方案型公司

当前AI智能体公司众多&#xff0c;但多数难以持续盈利。主要原因在于AI本质是工具&#xff0c;仅能解放生产力而非解决生产关系&#xff0c;对业务直接收入提升有限&#xff1b;其次&#xff0c;多数团队缺乏行业经验&#xff0c;商业模式局限于传统互联网模式&#xff0c;难以…...

矽力杰 Silergy SY8810 降压稳压器 佰祥电子

突破算力供电瓶颈&#xff1a;SY8810单芯片15A大电流与IC数字调压全景拆解导语&#xff1a;在边缘计算SoC、高速光模块&#xff08;如QSFP-DD&#xff09;以及企业级SSD的主板设计中&#xff0c;核心处理器的供电轨正面临着极其苛刻的物理学挑战。随着先进制程工艺不断演进&…...

探索TMSpeech:解锁Windows本地实时语音转文字的高效工作流

探索TMSpeech&#xff1a;解锁Windows本地实时语音转文字的高效工作流 【免费下载链接】TMSpeech 腾讯会议摸鱼工具 项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech 还在为会议记录手忙脚乱&#xff1f;还在为在线课程跟不上节奏而烦恼&#xff1f;TMSpeech为你…...

解锁3大网页设计黑科技:从像素到原型的无缝转换

解锁3大网页设计黑科技&#xff1a;从像素到原型的无缝转换 【免费下载链接】figma-html Convert any website to editable Figma designs 项目地址: https://gitcode.com/gh_mirrors/fi/figma-html 作为设计师&#xff0c;你是否曾为获取网页设计灵感而频繁截图&#x…...

若依RuoYi-Vue集成wangEditor:从零到一构建富文本内容管理模块

1. 为什么选择wangEditor与若依框架组合 在前后端分离的开发模式中&#xff0c;富文本编辑器是内容管理系统的核心组件。我实测过市面上主流的编辑器&#xff0c;wangEditor以其轻量级、易扩展的特性脱颖而出。特别是对于使用若依(RuoYi-Vue)框架的开发者来说&#xff0c;这个组…...

虚拟资产金融犯罪治理中公私协同防控体系研究 —— 以韩国 Upbit 与警方合作为例

摘要 在虚拟资产快速普及与金融犯罪手段持续智能化的背景下&#xff0c;语音钓鱼、投资欺诈、洗钱套现等新型犯罪呈现跨境化、技术化、链条化特征&#xff0c;传统单一执法模式存在数据滞后、响应迟缓、技术不足等局限&#xff0c;难以形成有效遏制。2026 年 4 月&#xff0c;韩…...

革新性英雄联盟客户端增强工具:League-Toolkit全方位功能解析

革新性英雄联盟客户端增强工具&#xff1a;League-Toolkit全方位功能解析 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power &#x1f680;. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 英雄联盟玩家在日常游…...

Mel滤波器在语音识别中的关键作用与实现细节

1. 为什么语音识别需要Mel滤波器&#xff1f; 第一次接触语音识别时&#xff0c;我对着频谱图发愁——那些密密麻麻的频率分量看起来毫无规律。直到发现Mel滤波器这个"翻译官"&#xff0c;才明白它能把机器看不懂的频谱&#xff0c;转换成人耳熟悉的"语言"…...

AI赋能前端设计:使用快马平台智能生成旅行博客网站首页

最近尝试用AI辅助开发一个旅行博客网站首页&#xff0c;整个过程比想象中顺利很多。作为一个经常需要快速产出前端页面的开发者&#xff0c;这种智能生成代码的方式确实带来了不少便利。下面记录下我的实践过程和一些思考。 需求分析与AI沟通 首先需要明确页面的核心模块&…...

mPLUG-Owl3-2B多模态交互:本地运行、保护隐私的AI识图方案

mPLUG-Owl3-2B多模态交互&#xff1a;本地运行、保护隐私的AI识图方案 1. 引言&#xff1a;为什么选择本地多模态AI 想象一下&#xff0c;当你看到一张有趣的图片&#xff0c;想了解其中的内容时&#xff0c;不再需要将图片上传到云端服务器&#xff0c;而是直接在本地电脑上…...