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

lc2536.子矩阵元素加1

暴力解法:直接按照题目所示在矩阵的相应位置加一

时间复杂度:O(n2 * queries.length)

空间复杂度:O(1)

二维差分:创建二维差分数组,通过对差分数组的修改来影响原来的数组,最后还原

时间复杂度:O(n2 + queries.length)

空间复杂度:O(n2)

示例2此种情况会发生角标越界的情况,因此差分数组需要多初始化2行2列

代码

import org.junit.Test;public class SubmatrixPlus {@Testpublic void test() {int[][] queries = new int[][]{{1, 1, 2, 2}, {0, 0, 1, 1}};for (int[] query : submatrixPlus(queries, 3)) {for (int n : query) {System.out.print(n + " ");}System.out.println();}int[][] queries1 = new int[][]{{0, 0, 1, 1}};for (int[] query : submatrixPlus(queries1, 2)) {for (int n : query) {System.out.print(n + " ");}System.out.println();}}//int[][] querries = {{左上角行,左上角列,右下角行,右下角列},{左上角行,左上角列,右下角行,右下角列}}public static int[][] submatrixPlus(int[][] queries, int n) {// 构建差分数组,多初始化2行2列避免数组越界int[][] arr = new int[n][n];for (int i = 0; i < queries.length; i++) {arr[queries[i][0] + 1][queries[i][1] + 1]++;//第几行不等于数组的索引arr[queries[i][2] + 2][queries[i][1] + 1]--;arr[queries[i][0] + 1][queries[i][3] + 2]--;arr[queries[i][2] + 2][queries[i][3] + 2]++;}//还原数组int[][] res = new int[n + 2][n + 2];for (int i = 0; i < res.length; i++) {for (int j = 0; j < res[i].length; j++) {arr[i + 1][j + 1] = arr[i + 1][j + 1] + arr[i + 1][j] + arr[i][j + 1] - arr[i][j];res[i][j] = arr[i + 1][j + 1];}}return res;}
}

相关文章:

lc2536.子矩阵元素加1

暴力解法&#xff1a;直接按照题目所示在矩阵的相应位置加一 时间复杂度&#xff1a;O(n2 * queries.length) 空间复杂度&#xff1a;O(1) 二维差分&#xff1a;创建二维差分数组&#xff0c;通过对差分数组的修改来影响原来的数组&#xff0c;最后还原 时间复杂度&#x…...

C#使用OpenCv(OpenCVSharp)图像全局二值化处理实例

本文实例演示C#语言中如何使用OpenCv(OpenCVSharp)对图像进行全局二值化处理。 目录 图像二值化原理 函数原型 参数说明 实例 效果 图像二值化原理...

Patch SCN一键解决ORA-600 2662故障---惜分飞

客户强制重启库之后,数据库启动报ORA-600 2037,ORA-745 kcbs_reset_pool/kcbzre1等错误 Wed Aug 09 13:25:38 2023 alter database mount exclusive Successful mount of redo thread 1, with mount id 1672229586 Database mounted in Exclusive Mode Lost write protection d…...

const、指针、引用的综合

目录 代码段 定义引用变量的技巧 内存某处 正误判定技巧 温故知新 代码段 定义引用变量的技巧 // 定义引用变量的技巧#include<iostream> using namespace std;int main() {int a 1;int * p &a;// 首先&#xff0c;定义一个指针变量int * * q1 &p;// 然…...

gitee linux免密/SSH 方式连接免登录

目录 账号密码方式免登录&#xff08;不推荐&#xff09;添加git配置新建保存密码文件git clone SSH 方式连接免登录&#xff08;推荐&#xff09;生成SSH公钥通过 ssh-keygen 程序创建找到SSH公钥 在gitee中添加公钥git clone 参考 账号密码方式免登录&#xff08;不推荐&…...

计网第一章

注意&#xff1a;计网知识点十分多&#xff0c;在本篇及后续博客主要记录个人认为比较重要的知识点。 1.计算机网络的基本概念 计算机网络就是自治的计算机互连起来的集合。计算机网络可以简称为网络&#xff0c;而互连网就是把许多网络连接起来&#xff0c;即网络的网络。 …...

windows升级记

我的笔记本原来的windows的版本是win10&#xff0c;本来想使用windows 更新下最新的补丁包&#xff0c;但是一直报错&#xff0c;出现错误号&#xff1a;0x80004005&#xff0c;在网上找了一堆的资料都没有办法解决问题,于是把问题反馈到微软的技术服务中心&#xff0c;服务中心…...

【Windows 常用工具系列 5 -- Selenium IDE的使用方法 】

文章目录 Selenium 介绍Selenium IDE 介绍 Selenium IDE安装Chrome 浏览器安装Selenium IDE使用 Selenium 介绍 Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中&#xff0c;就像真正的用户在操作一样。 Selenium家庭成员有三个&#xff0c;分别是S…...

现代无人机技术

目录 1.发展 2.应用领域 3.对战争的影响 4.给人类带来的福利 5.给人类带来的坏处 1.发展 无人机的发展可以分为以下几个关键步骤&#xff1a; 1. 早期试验和研究&#xff1a;20世纪初&#xff0c;飞行器的概念开始出现&#xff0c;并进行了一些早期的试飞和实验。这些尝试包…...

【机器学习 | 数据预处理】 提升模型性能,优化特征表达:数据标准化和归一化的数值处理技巧探析

&#x1f935;‍♂️ 个人主页: AI_magician &#x1f4e1;主页地址&#xff1a; 作者简介&#xff1a;CSDN内容合伙人&#xff0c;全栈领域优质创作者。 &#x1f468;‍&#x1f4bb;景愿&#xff1a;旨在于能和更多的热爱计算机的伙伴一起成长&#xff01;&#xff01;&…...

渐进增强和优雅降级区别

文章目录 前言一、渐进增强二、优雅降级三、两者区别四、渐进增强和优雅降级如何抉择 前言 渐进增强和优雅降级是在css3出现之后才火起来的。比如IE6等&#xff0c;不支持css3&#xff0c;但是css3的样式又特别优秀&#xff0c;所以在高级浏览器中应用css3样式&#xff0c;在低…...

使用provision创建的arxml文件,导入到第三方工具需要注意哪些方面?

provision是一款基于AP AUTOSAR的ARXML设计工具&#xff0c;可以帮助您快速创建和配置ARXML文件。 如果您想要将provision创建的ARXML文件导入到第三方工具中&#xff0c;您需要注意以下几个方面&#xff1a; 您需要确认第三方工具支持的AP AUTOSAR版本和provision生成的ARXML…...

Node.js的核心模块——path

文章目录 path是什么&#xff1f;path怎么用&#xff1f;结论 path是什么&#xff1f; path是Node.js的核心模块&#xff0c;专门用来处理文件路径&#xff0c;path模块为处理文件路径提供了一系列实用的功能和API。 path怎么用&#xff1f; 这里主要介绍一些path模块的常见…...

【MAC】 M2 brew安装 docker 运行失败 解决

MAC 安装 brew install --cask docker 之后一直显示docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?. 网上看了一些文章 发现 这个不适用于M2 所以要从官网上下载 docker 安装成功...

iPhone苹果手机触屏失灵无法关机,如何强制重启

参考:https://zhuanlan.zhihu.com/p/615223121 1&#xff0c;只轻按一下音量上键后快速松开 2&#xff0c;只轻按一下音量下键后快速松开 3&#xff0c;只按住右侧电源键长按不松手&#xff0c;直到手机关机。...

SQL-每日一题【1484. 按日期分组销售产品】

题目 表 Activities&#xff1a; 编写解决方案找出每个日期、销售的不同产品的数量及其名称。 每个日期的销售产品名称应按词典序排列。 返回按 sell_date 排序的结果表。 结果表结果格式如下例所示。 示例 1: 解题思路 前置知识 group_concat函数的功能   将group by产生的…...

java重写与重载的区别

在Java中&#xff0c;重写&#xff08;Override&#xff09;和重载&#xff08;Overload&#xff09;是两种不同的概念&#xff1a; 重写&#xff08;Override&#xff09;&#xff1a; 重写是指子类重新定义&#xff08;覆盖&#xff09;了从父类继承而来的方法。重写要求子类…...

Unity 框架学习--1

由浅入深&#xff0c;慢慢演化实现框架 两个类的实现代码完全一样&#xff0c;就只有类名或类型不一样的时候&#xff0c;而且还需要不断扩展&#xff08;未来会增加各种事件&#xff09;的时候&#xff0c;这时候就用 泛型 继承 来提取&#xff0c;继承解决扩展的问题&#…...

ERROR: While executing gem ... (Gem::FilePermissionError)

sudo gem install -n /usr/local/bin cocoapodsERROR: While executing gem ... (Gem::FilePermissionError)You dont have write permissions for the /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0 directory.解决办法&#xff1a; 1.删…...

QT学习笔记-oracle oci数据库驱动交叉编译并移植到ARM开发板

QT学习笔记-oracle oci数据库驱动交叉编译并移植到RK3568ARM开发板 0、背景1、搭建交叉编译环境2、交叉编译过程3、把数据库驱动部署到目标系统中 0、背景 在上一文《QT学习笔记-QT安装oracle oci驱动》中介绍了在Windows环境下使用QT访问oracle数据库时遇到驱动无法加载问题的…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit&#xff08;传感器服务&#xff09;# 前言 在运动类应用中&#xff0c;运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据&#xff0c;如配速、距离、卡路里消耗等&#xff0c;用户可以更清晰…...

使用Spring AI和MCP协议构建图片搜索服务

目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式&#xff08;本地调用&#xff09; SSE模式&#xff08;远程调用&#xff09; 4. 注册工具提…...

LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)

在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...