LeetCode子矩形查询
LeetCode 子矩形查询
题目描述
请你实现一个类SubrectangleQueries,它的构造函数的参数是一个rows * cols的矩形(这里用整数矩阵表示),并支持以下两种操作:
updateSubrectangle(int row1, int col1, int row2, int col2, int newValue)- 用 newValue 更新以
(row1,col1)为左上角且以(row2,col2)为右下角的子矩形。
- 用 newValue 更新以
getValue(int row, int col)- 返回矩形中坐标
(row,col)的当前值。
- 返回矩形中坐标
一得之见(Java)
/**
* @author zhkai
* @date 2021年4月7日09:37:05
*/
public class SubrectangleQueries {
private int[][] rect = null;
public SubrectangleQueries(int[][] rectangle) {
this.rect = rectangle;
}
/**
* 用 newValue 更新以(row1,col1)为左上角且以(row2,col2)为右下角的子矩形。
*
* @param row1 子矩形左上角行坐标
* @param col1 子矩形左上角列坐标
* @param row2 子矩形右下角行坐标
* @param col2 子矩形右下角列坐标
* @param newValue 子矩形新值
*/
public void updateSubrectangle(int row1, int col1, int row2, int col2, int newValue) {
if (rect != null) {
for (int i = row1; i <= row2; i++) {
for (int j = col1; j <= col2; j++) {
rect[i][j] = newValue;
}
}
}
}
/**
* 返回矩形中坐标(row,col)的当前值。
*
* @param row 行坐标
* @param col 列坐标
* @return 当前值
*/
public int getValue(int row, int col) {
if (rect != null) {
return rect[row][col];
}
return -1;
}
}
一得之见(Python)
from typing import List
class SubRectangleQueries:
def __init__(self, rectangle: List[List[int]]):
self.data = rectangle
def update_sub_rectangle(
self,
row1: int,
col1: int,
row2: int,
col2: int,
new_value: int):
"""
用 newValue 更新以(row1,col1)为左上角且以(row2,col2)为右下角的子矩形。
:param self:
:param row1: 子矩形左上角行坐标
:param col1:子矩形左上角列坐标
:param row2:子矩形右下角行坐标
:param col2:子矩形右下角列坐标
:param new_value:子矩形新值
"""
if self.data is not None:
for i in range(row1, row2 + 1):
for j in range(col1, col2 + 1):
self.data[i][j] = new_value
def get_value(self, row, col) -> int:
"""
回矩形中坐标(row,col)的当前值
:param self:
:param row: 行坐标
:param col: 列坐标
:return: 当前值
"""
if self.data is not None:
return self.data[row][col]
else:
return -1
LeetCode子矩形查询的更多相关文章
- SqlServer父节点与子节点查询及递归
在最近老是用到这个SQL,所以记下来了: 1:创建表 CREATE TABLE [dbo].[BD_Booklet]( [ObjID] [int] IDENTITY(1,1) NOT NULL, [P ...
- SQL 用;with 由所有的子节点查询到树结构中所有父节点
1.所有的子节点查询到树结构中所有父节点 RETURNS @Tree Table(PID )) as begin --DECLARE @ID VARCHAR() --SET @ID = ' ;with ...
- LeetCode:矩形区域【223】
LeetCode:矩形区域[223] 题目描述 在二维平面上计算出两个由直线构成的矩形重叠后形成的总面积. 每个矩形由其左下顶点和右上顶点坐标表示,如图所示. 示例: 输入: -3, 0, 3, 4, ...
- mysql多表查询之子语句查询
1.子语句查询 1.1子语句查询出来的结果集作为临时表名使用 select * from (select * from person) as aaa; -- as这个起别名关键字是可以省略的 1.2查 ...
- mysql学习 | LeetCode数据库简单查询练习
力扣:https://leetcode-cn.com/ 力扣网数据库练习:https://leetcode-cn.com/problemset/database/ 文章目录 175. 组合两个表 题解 ...
- Rafy 中的 Linq 查询支持(根据聚合子条件查询聚合父)
为了提高开发者的易用性,Rafy 领域实体框架在很早开始就已经支持使用 Linq 语法来查询实体了.但是只支持了一些简单的.常用的条件查询,支持的力度很有限.特别是遇到对聚合对象的查询时,就不能再使用 ...
- Oracle not in子连接查询不到值的问题(not in 不能查询null数据)
前几天在项目中,做数据导入时,发现not in和in 查出来的条数不互补.ATABLE2明明中有些记录在ATABLE3中不存在,但是not in时查不出记录. CREATE TABLE ATABLE2 ...
- oracle表分区的,分区操作,分区查询,子分区查询
一.摘要 有关表分区的一些维护性操作: 注:分区根据具体情况选择. 表分区有以下优点: 1.数据查询:数据被存储到多个文件上,减少了I/O负载,查询速度提高. 2.数据修剪:保存历史数据非常的理想. ...
- Dynamics 365 We API ODATA语法根据父记录查询子记录,根据子记录查询父记录(附上根据团队,队列名称查成员)
微软动态CRM专家罗勇 ,回复333或者20190508可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 先举个N:N关系的例子.这里以根据团队的名称查找其所有团队成员的 ...
随机推荐
- 顺时针打印矩阵 牛客网 剑指Offer
顺时针打印矩阵 牛客网 剑指Offer 题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 ...
- 最后的OI(HAOI2020游记)
马上就省选了,怎么不得写点什么?要不然到最后或许就真的落得个白茫茫大地真干净的局面. 其实也不知道该说啥?我这一路走来,感觉挺赚的. 每一个OIer背后都有一个故事,所以,我有故事,你有酒吗? 依稀记 ...
- hdu 1158 Employment Planning(DP)
题意: 有一个工程需要N个月才能完成.(n<=12) 给出雇佣一个工人的费用.每个工人每个月的工资.解雇一个工人的费用. 然后给出N个月所需的最少工人人数. 问完成这个项目最少需要花多少钱. 思 ...
- 使用NLog把日志写入数据库并按天自动分表
前言 最近用Asp.net Core开发程序的时候 因为时间的关系,就没有过多的去关注日志方面的功能 都是直接用系统的ILogger先记录着,然后看日志的时候就先在命令行看日志 在开发阶段没有什么问题 ...
- vue中element-ui table列名lable换行问题 ---亲测
1.lable操作 :label = "'xxxxx \n xxxxx'" // 注意 lable 的: 注:双引号内有单引号,这样才可以解析文本.需要换行的文本处添加 \n 2. ...
- CSP2020-儒略历
大家可以在洛谷提交: 题目描述 为了简便计算,天文学家们使用儒略日(Julian day)来表达时间.所谓儒略日,其定义为从公元前 4713 年 1 月 1 日正午 12 点到此后某一时刻间所经过的天 ...
- MySQL、Oracle批量插入SQL的通用写法
举个例子: 现在要批量新增User对象到数据库USER表中 public class User{ //姓名 private String name; //年龄 private Integer age; ...
- 问题 G: 心急的C小加
题目描述 C小加有一些木棒,它们的长度和质量都已经知道,需要一个机器处理这些木棒,机器开启的时候需要耗费一个单位的时间,如果第i+1个木棒的重量和长度都大于等于第i个处理的木棒,那么将不会耗费时间,否 ...
- C#与dotNET项目想要另存为一个新项目sln文件丢了怎么办
如下图所示,我想要另存一个工程,把 V4.4整个的项目另存为V4.5,我可以把解决方案文件(.sln)改名字,但是我没法把文件夹改名字,改了打开sln就说找不到. 很简单的一个思路是反正sln是多余的 ...
- SeleniumLibrary 主要关键字 基于python3
关键字的解释 https://blog.csdn.net/ak739105231/article/details/88926995 click element 都是元素点击事件:不赘述 click l ...