蓝桥杯day04——查询后矩阵的和

1.题目

给你一个整数 n 和一个下标从 0 开始的 二维数组 queries ,其中 queries[i] = [typei, indexi, vali] 。

一开始,给你一个下标从 0 开始的 n x n 矩阵,所有元素均为 0 。每一个查询,你需要执行以下操作之一:

  • 如果 typei == 0 ,将第 indexi 行的元素全部修改为 vali ,覆盖任何之前的值。
  • 如果 typei == 1 ,将第 indexi 列的元素全部修改为 vali ,覆盖任何之前的值。

请你执行完所有查询以后,返回矩阵中所有整数的和。

示例 1:

输入:n = 3, queries = [[0,0,1],[1,2,2],[0,2,3],[1,0,4]]
输出:23
解释:上图展示了每个查询以后矩阵的值。所有操作执行完以后,矩阵元素之和为 23 。

示例 2:

输入:n = 3, queries = [[0,0,4],[0,1,2],[1,0,1],[0,2,3],[1,2,1]]
输出:17
解释:上图展示了每一个查询操作之后的矩阵。所有操作执行完以后,矩阵元素之和为 17 。

提示:

  • 1 <= n <= 104
  • 1 <= queries.length <= 5 * 104
  • queries[i].length == 3
  • 0 <= typei <= 1
  • 0 <= indexi < n
  • 0 <= vali <= 105

 

2.解析

  1. 定义两个字典 d_r 和 d_l,分别用于存储每一行和每一列的数据。字典的键是行或列的索引,值是该行或该列的元素列表。

  2. 遍历查询列表 queries,对于每个查询,判断其类型(取出行或取出列)以及其索引。

    • 如果查询类型是取出行(row[0]==0),并且该行索引 i 不在 d_r 的键中,那么将该行数据添加到 d_r 中。
    • 如果查询类型是取出列(row[0]==1),并且该列索引 i 不在 d_l 的键中,那么将该列数据添加到 d_l 中。
  3. 遍历 d_r 的值和 d_l 的值,分别计算它们的和,并累加到变量 res 中。

  4. 返回累加结果 res

3.python代码

class Solution:def matrixSumQueries(self, n: int, queries: list[list[int]]) -> int:d_r=dict()d_l=dict()for row in queries[::-1]:i=row[1]if row[0]==0 and i not in d_r.keys():d_r[i]=[row[2] for j in range(n)]for k in d_l:d_r[i][k]=0elif row[0]==1 and i not in d_l.keys():d_l[i]=[row[2] for j in range(n)]for k in d_r:d_l[i][k]=0res=0for r in d_r.values():res+=sum(r)for l in d_l.values():res+=sum(l)return res

4.运行结果

 

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

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

相关文章

已知二叉树采用顺序存储,求编号为i和j的结点的最近公共祖先结点编号。

题目描述&#xff1a;已知二叉树采用顺序存储&#xff0c;求编号为 i和j的结点的最近公共祖先结点编号。 分析&#xff1a; 令两个下标从两个初始点开始&#xff0c;你追我赶的交替向上&#xff0c;直到在某地相遇。即先令较大的下标&#xff08;对应位置较低的点&#xff09;…

C++作业2

自己封装一个矩形类(Rect)&#xff0c;拥有私有属性:宽度(width)、高度(height)&#xff0c; 定义公有成员函数: 初始化函数:void init(int w, int h) 更改宽度的函数:set_w(int w) 更改高度的函数:set_h(int h) 输出该矩形的周长和面积函数:void show() 代码&#xff1a…

数字图像处理(实践篇)十七 Shi-Tomasi 角点检测

目录 一 涉及的函数 二 实践 在使用OpenCV之前&#xff0c;需要先安装相关的库和依赖项&#xff0c;命令如下所示&#xff1a; # 安装OpenCV的基础版pip install opencv-python# 安装OpenCV的扩展版pip install opencv-contrib-python 一 涉及的函数 OpenCV 提供了cv2.goo…

gitee仓库使用教程

目录 一、项目与仓库映射 二、git常用命令的用法 一、项目与仓库映射 下载安装git&#xff1b;在本地项目文件夹右击鼠标点击Git Bash Here;输入git init&#xff0c;这个目录变成git可以管理的仓库&#xff0c;会出现一个.git文件夹&#xff0c;如果没出现的话需要选择“显…

DAPP开发【02】Remix使用

系列文章目录 系列文章在DAPP开发专栏 文章目录 系列文章目录使用部署测试网上本地项目连接remix本地项目连接remix 使用 创建一个新的工作空间 部署测试网上 利用metaMask连接测试网络 添加成功&#xff0c;添加时需要签名 即可进行编译 即可部署 本地项目连接remix 方…

探秘RabbitMQ:社区插件与扩展的奇妙世界【RabbitMQ 三】

&#x1f38f;&#xff1a;你只管努力&#xff0c;剩下的交给时间 &#x1f3e0; &#xff1a;小破站 探秘RabbitMQ&#xff1a;社区插件与扩展的奇妙世界 前言第一&#xff1a;RabbitMQ社区插件简介第二&#xff1a;高级队列插件特性实现延迟队列 - rabbitmq_delayed_message_…

Pytorch 中的 Hook 机制

Hook 是 PyTorch 中⼀个⼗分有⽤的特性。利⽤它&#xff0c;我们可以不必改变⽹络输⼊输出的结构&#xff0c;⽅便地获取、改变⽹络中间层变量的值和梯度。这个功能被⼴泛⽤于可视化神经⽹络中间层的feature、gradient&#xff0c;从⽽诊断神经⽹络中可能出现的问题&#xff0c…

JVM内存结构

一、 整体结构 .java文件被javac编译成.class字节码文件。 .class文件再由JVM编译成设用于具体系统的机器码文件 下图即JVM编译.class文件的过程 JVM分为 类加载器&#xff0c; 内存结构&#xff0c; 执行引擎三部分 一、类加载器负责加载二进制字节码文件 二、方法区存储类…

反序列化漏洞(二)

目录 pop链前置知识&#xff0c;魔术方法触发规则 pop构造链解释&#xff08;开始烧脑了&#xff09; 字符串逃逸基础 字符减少 字符串逃逸基础 字符增加 实例获取flag 字符串增多逃逸 字符串减少逃逸 延续反序列化漏洞(一)的内容 pop链前置知识&#xff0c;魔术方法触…

【Excel/Matlab】绘x-y图并求切线和截距(详细图解)

最近做大物实验数据较多&#xff0c;手绘图比较麻烦且不精确&#xff0c;所以开始用电脑作图&#xff0c;粗浅记录一下。 方法一 excel &#xff08;简单快捷&#xff09; 1 录入数据 在excel中录入数据 2 生成平滑线散点图 选中录入的所有数据->右键点击快速分析->选择…

TCP_握手+挥手过程状态变化分析

TCP状态解读 握手挥手过程状态变化 同时握手 双发同时发起syn请求&#xff0c;状态变化过程如下&#xff1a; 图片来源&#xff1a;http://www.tcpipguide.com/free/t_TCPConnectionEstablishmentProcessTheThreeWayHandsh-4.htm 同时挥手 4次挥手&#xff0c;可以理解为2…

Linux的权限(一)

目录 权限的本质 Linux权限的概念 如何创建与删除普通用户 创建普通用户&#xff1a; 设置用户密码&#xff1a; 删除普通用户&#xff1a; 删除与该用户关联的主目录和邮件目录 &#xff1a; su指令 sudo指令 Linux权限管理 Linux中文件访问者有三种“人” Linux…

使用 Go 构建高性能的命令行工具

命令行工具&#xff08;CLI&#xff09;在软件开发中扮演着重要的角色&#xff0c;尤其是在自动化工具、开发工具链和服务器管理等领域。Go 语言以其简洁性和高性能而闻名&#xff0c;非常适合用来创建强大且高效的 CLI 工具。本文将详细介绍如何使用 Go 语言来构建 CLI 应用&a…

DL中的GPU使用问题

写在前面 在使用GPU进行深度学习训练经常会遇到下面几个问题&#xff0c;这里做一个解决方法的汇总。 &#x1f415;Q1&#x1f415;&#xff1a;在一个多卡服务器上&#xff0c;指定了cuda:1&#xff0c;但是0号显卡显存还是会被占用一定量的显存。 这个问题很经典的出现场景就…

甄知黄建华:从“天赋平平”到IT行业“六边形战士”,探索出企业数智化转型的“强IT”之路

本期我们先抛开人物和主体不表&#xff0c;从大环境开始谈起。随着科技的快速发展和全球商业环境的不断变化&#xff0c;中国企业对灵活性、创新性、全球化和效率的需求是迫切的&#xff0c;进行数字化转型来支撑企业的业务变革、组织优化已是业界共识。如何根据企业的实际情况…

【Element-ui】Element-ui是什么?如何安装

文章目录 前言一. 什么是Element UI?二. 安装Element UI2.1 安装方法12.2 安装方法2 三、引入Element3.1 完整引入3.2 按需引入 总结 前言 在Web开发中&#xff0c;使用现成的UI组件库能够极大地提高开发效率。而Element UI&#xff08;饿了么团队开发的一套基于Vue.js的UI组…

锐捷EWEB网管系统 RCE漏洞复现

0x01 产品简介 锐捷网管系统是由北京锐捷数据时代科技有限公司开发的新一代基于云的网络管理软件&#xff0c;以“数据时代创新网管与信息安全”为口号&#xff0c;定位于终端安全、IT运营及企业服务化管理统一解决方案。 0x02 漏洞概述 Ruijie-EWEB 网管系统 flwo.control.ph…

定时任务特辑 | Quartz、xxl-job、elastic-job、Cron四个定时任务框架对比,和Spring Boot集成实战

专栏集锦&#xff0c;大佬们可以收藏以备不时之需&#xff1a; Spring Cloud 专栏&#xff1a;http://t.csdnimg.cn/WDmJ9 Python 专栏&#xff1a;http://t.csdnimg.cn/hMwPR Redis 专栏&#xff1a;http://t.csdnimg.cn/Qq0Xc TensorFlow 专栏&#xff1a;http://t.csdni…

Docker从入门到实战:Docker快速部署、Dockerfile编写、容器间通信及共享数据实战、Docker-compose详解

文章目录 一、基本概念1、体系结构2、容器与镜像1&#xff09;镜像2&#xff09;容器a、容器内部结构b、容器生命周期 3、执行流程 二、常用命令docker pull 镜像名<:tags> &#xff1a;从远程仓库抽取镜像docker images&#xff1a;查看本地镜像docker run 镜像名<:t…

达梦8搭建DataWatch集群

一、集群配置 官方文档本次配置集群需要两台服务器主库&#xff1a;dmdw1&#xff0c;10.0.0.100备库&#xff1a;dmdw2&#xff0c;10.0.0.110确认监视器&#xff1a;10.0.0.110普通监视器&#xff1a;10.0.0.100 二、初始化数据库 2.1 主库执行 su - dmdba cd /opt/dmdbm…