LeetCode 1253. 重构 2 行二进制矩阵(贪心)

1. 题目

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

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

你需要利用 upper,lower 和 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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reconstruct-a-2-row-binary-matrix
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 贪心解题

class Solution {
public:vector<vector<int>> reconstructMatrix(int upper, int lower, vector<int>& colsum) {int i, n = colsum.size(), sum = 0;for(i = 0; i < n; ++i)sum += colsum[i];if(upper+lower != sum || upper > n || lower > n)return {};	//肯定可以排除的情况vector<vector<int>> ans(2, vector<int> (n,0));for(i = 0; i < n; ++i){if(colsum[i] == 0)continue;if(colsum[i] == 2){ans[0][i] = ans[1][i] = 1;upper--,lower--;}else// colsum[i] == 1,平均着分配(贪心){	//优先分配多的,后面万一有2,别一个多,一个少,少的不够了if(lower >= upper){ans[1][i] = 1;lower--;}else{ans[0][i] = 1;upper--;}}if(lower < 0 || upper < 0)return {};	//不够了,肯定错了}return ans;}
};

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/477835.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文浅尝 | ExCAR: 一个事件图知识增强的可解释因果推理框架

笔记整理&#xff1a;朱珈徵&#xff0c;天津大学硕士链接&#xff1a;https://aclanthology.org/2021.acl-long.183.pdf动机因果推理旨在理解因果之间的一般因果相关性&#xff0c;对于各种人工智能应用都有很大的价值。先前的研究主要是基于从手工注释的因果事件对中归纳出的…

从ACL2021看对比学习在NLP中的应用

本文首发于微信公众号”夕小瑶的卖萌屋“文 | 花小花Posy源 | 夕小瑶的卖萌屋最近关注对比学习&#xff0c;所以ACL21的论文列表出来后&#xff0c;小花就搜罗了一波&#xff0c;好奇NLPers们都用对比学习干了什么&#xff1f;都是怎么用的呀&#xff1f;效果怎样呀&#xff1f…

美团性能优化之路——性能指标体系

前言 在互联网网站百花齐放的今天&#xff0c;网站响应速度是用户体验的第一要素&#xff0c;其重要性不言而喻&#xff0c;这里有几个关于响应时间的重要条件&#xff1a; 用户在浏览网页时&#xff0c;不会注意到少于0.1秒的延迟&#xff1b;少于1秒的延迟不会中断用户的正常…

图谱实战 | 面向C端场景的概念图谱构成、建设与应用索引

转载公众号 | 老刘说NLPC端是知识图谱应用的一个重要领域&#xff0c;这个领域有大量的用户行为数据&#xff0c;存在着包括搜索、推荐、广告投放等业务。当前&#xff0c;主流的互联网公司&#xff0c;如美团、阿里、腾讯都在尝试相关落地&#xff0c;在此当中&#xff0c;概念…

11 个好用的科研工具推荐!工作效率提升 max!

文 | 炼丹学徒编 | 小轶前阵子&#xff0c;卖萌屋团队群里大家互相分享了一波自己收藏已久的 好用科研工具 。小伙伴们纷纷都有一种相见恨晚的感觉&#xff01;这么多好东西&#xff0c;当然也要分享与各位读者小伙伴啦~也希望大家能把自己用过好用的工具留言在评论区&#xff…

搜索引擎关键字智能提示的一种实现

背景 搜索关键字智能提示是一个搜索应用的标配&#xff0c;主要作用是避免用户输入错误的搜索词&#xff0c;并将用户引导到相应的关键词上&#xff0c;以提升用户搜索体验。 美团CRM系统中存在数以百万计的商家&#xff0c;为了让用户快速查找到目标商家&#xff0c;我们基于s…

会议交流 | DataFunSummit 知识图谱在线峰会——链接知识图谱最前沿技术和最落地产业化应用的桥梁!...

随着人工智能技术的发展与应用&#xff0c;知识图谱作为AI进步的阶梯越来越受到学术界和产业界的重视&#xff0c;并且已经在很多领域、场景中体现出自身的价值。从最初的互联网搜索、推荐、问答等ToC场景&#xff0c;逐渐进入到垂直行业ToB的应用当中。然而&#xff0c;场景的…

LeetCode 1209. 删除字符串中的所有相邻重复项 II(栈)

1. 题目 给你一个字符串 s&#xff0c;「k 倍重复项删除操作」将会从 s 中选择 k 个相邻且相等的字母&#xff0c;并删除它们&#xff0c;使被删去的字符串的左侧和右侧连在一起。 你需要对 s 重复进行无限次这样的删除操作&#xff0c;直到无法继续为止。 在执行完所有删除…

YUI经验谈 - 自定义事件默认行为

纵观主流JS库和框架&#xff0c;YUI在自定义事件方面做的尤为出色。如果需要挑出一个代表性的feature&#xff0c;那么非事件默认行为莫属。 是什么 YUI自定义事件在总体上模仿了DOM事件的设计思想。DOM中的一些事件是有默认行为的&#xff0c;详细见DOM3 Event - Default acti…

美团NLP中心算法实习生招聘

致力于连接最靠谱的算法岗与最强的求职者招聘贴投放请联系微信xixiaoyao-1岗位职责&#xff1a;NLP算法研发&#xff0c;例如文本挖掘、知识预训练、知识&多模态预训练等知识图谱构建核心技术相关论文撰写岗位要求&#xff1a;北京高校在校大学生。&#xff08;2023年毕业优…

论文浅尝 | 改善多语言KGQA的 Zero-shot 跨语言转换

笔记整理&#xff1a;谭亦鸣, 东南大学博士生来源&#xff1a;NAACL21链接&#xff1a;https://aclanthology.org/2021.naacl-main.465/概述为了扩展多语言知识图谱问答的应用&#xff0c;Zero-shot方法成为一个研究趋势。在Zero-shot的设定下&#xff0c;通过高资源语言的训练…

LeetCode 1172. 餐盘栈(栈 + set)

1. 题目 我们把无限数量 ∞ 的栈排成一行&#xff0c;按从左到右的次序从 0 开始编号。每个栈的的最大容量 capacity 都相同。 实现一个叫「餐盘」的类 DinnerPlates&#xff1a; DinnerPlates(int capacity) - 给出栈的最大容量 capacity。void push(int val) - 将给出的正…

Hive SQL的编译过程

Hive是基于Hadoop的一个数据仓库系统&#xff0c;在各大公司都有广泛的应用。美团数据仓库也是基于Hive搭建&#xff0c;每天执行近万次的Hive ETL计算流程&#xff0c;负责每天数百GB的数据存储和分析。Hive的稳定性和性能对我们的数据分析非常关键。 在几次升级Hive的过程中&…

Prompt tuning新工作,五个参数解决下游任务 fine-tuning

文 | 小伟编 | 小轶前言自从Google石破天惊地发布Bert以来&#xff0c;NLP就进入了预训练语言模型的时代。众所周知&#xff0c;我们可以用预训练语言模型来学习各种各样的任务&#xff0c;即使它们的特征空间有比较大的差异。那么预训练语言模型为什么会有这种泛化能力呢&…

会议交流 | 如何将图谱实体与关系更好的向量化,并基于推理扩充知识边界?——DataFun Summit2022知识图谱在线峰会...

背景介绍知识图谱是对人类先验知识的概括&#xff0c;具有重要的学术价值和广泛的应用前景。在深度学习广泛应用环境下&#xff0c;知识图谱的表示学习通过将图谱实体和关系向量化&#xff0c;便于利用深度学习技术实现异质信息融合&#xff1b;同时&#xff0c;基于这种图谱表…

真正的高阶特征交叉:xDeepFM与DCN-V2

文 | 水哥源 | 知乎Saying1. xDeepFM和DCN-V2是真正的高阶交叉&#xff0c;和前面讲的High Order Factorization Machine&#xff08;HOFM&#xff09;又有着千丝万缕的联系。某种简化下&#xff0c;都能退化为HOFM的形式2. 如图3. 推荐模型迭代的时候要平衡涨点和复杂度的关系…

学术会议 | 中国杭州举办——第21届国际语义网大会​ISWC2022 Call for Papers

中国杭州举办&#xff01;ISWC2022 Call for Papers.ISWC(International Semantic Web Conference)是语义网和知识图谱领域的国际顶级学术会议&#xff0c;2022年10月23-27日&#xff0c;ISWC将在中国杭州举行&#xff0c;通过线上线下结合的方式&#xff0c;汇聚全世界相关的科…

LeetCode 82. 删除排序链表中的重复元素 II(链表)

1. 题目 给定一个排序链表&#xff0c;删除所有含有重复数字的节点&#xff0c;只保留原始链表中 没有重复出现 的数字。 示例 1: 输入: 1->2->3->3->4->4->5 输出: 1->2->5示例 2: 输入: 1->1->1->2->3 输出: 2->3来源&#xff1a;力…

从 ACL’22 投稿情况,速览当下 NLP 研究热点!

文 | Yimin_饭煲编 | 小轶卖萌屋的作者们&#xff0c;最近可真是忙秃了头~&#xff0c;不仅要苦哈哈地赶 ACL 2022 提前了两个月的Deadline&#xff0c;还要尽心尽力为读者们提供高质量的内容。如果大家心疼卖萌屋的作者们的话&#xff0c;还请多多一键三连:)ACL2022 全部转向了…

开源开放 | DeepKE发布新版本:支持低资源、长篇章、多任务的图谱抽取开源框架(浙江大学)...

OpenKG地址&#xff1a;http://openkg.cn/tool/deepkeGitHub地址&#xff1a;https://github.com/zjunlp/deepkeGitee地址&#xff1a;https://gitee.com/openkg/deepkeDeepKE网站&#xff1a;http://deepke.zjukg.org/CN/index.html开放许可协议&#xff1a;GPL 3.0贡献者&…