LeetCode简单题之距离顺序排列矩阵单元格

news/2024/11/20 8:32:56/

题目

给定四个整数 row , cols , rCenter 和 cCenter 。有一个 rows x cols 的矩阵,你在单元格上的坐标是 (rCenter, cCenter) 。
返回矩阵中的所有单元格的坐标,并按与 (rCenter, cCenter) 的 距离 从最小到最大的顺序排。你可以按 任何 满足此条件的顺序返回答案。
单元格(r1, c1) 和 (r2, c2) 之间的距离为|r1 - r2| + |c1 - c2|。
示例 1:
输入:rows = 1, cols = 2, rCenter = 0, cCenter = 0
输出:[[0,0],[0,1]]
解释:从 (r0, c0) 到其他单元格的距离为:[0,1]
示例 2:
输入:rows = 2, cols = 2, rCenter = 0, cCenter = 1
输出:[[0,1],[0,0],[1,1],[1,0]]
解释:从 (r0, c0) 到其他单元格的距离为:[0,1,1,2]
[[0,1],[1,1],[0,0],[1,0]] 也会被视作正确答案。
示例 3:
输入:rows = 2, cols = 3, rCenter = 1, cCenter = 2
输出:[[1,2],[0,2],[1,1],[0,1],[1,0],[0,0]]
解释:从 (r0, c0) 到其他单元格的距离为:[0,1,1,2,2,3]
其他满足题目要求的答案也会被视为正确,例如 [[1,2],[1,1],[0,2],[1,0],[0,1],[0,0]]。
提示:
1 <= rows, cols <= 100
0 <= rCenter < rows
0 <= cCenter < cols
来源:力扣(LeetCode)

解题思路

  思路非常简单,我们将每个点的和中心点的距离和它们的坐标进行绑定,然后对距离进行排序。排序后得到的坐标顺序就是答案。

class Solution:def allCellsDistOrder(self, rows: int, cols: int, rCenter: int, cCenter: int) -> List[List[int]]:d=[]for i in range(rows):for j in range(cols):d.append((abs(i-rCenter)+abs(j-cCenter),i,j))temp=[]for i in sorted(d):temp.append([i[1],i[2]])return temp

在这里插入图片描述


http://www.ppmy.cn/news/605673.html

相关文章

Bert代码详解(二)重点

这是bert的pytorch版本&#xff08;与tensorflow一样的&#xff0c;这个更简单些&#xff0c;这个看懂了&#xff0c;tf也能看懂&#xff09;&#xff0c;地址&#xff1a;https://github.com/huggingface/pytorch-pretrained-BERT 主要内容在pytorch_pretrained_bert/modeling…

合肥工业大学—SQL Server数据库实验九:视图的定义与使用

视图的定义与使用1. 定义视图2. 使用视图1. 定义视图 在EDUC数据库中&#xff0c;已Student、Course 和SC表为基础完成一下视图定义: 1) 定义视图V_SC_G&#xff1a;该视图包含Student、 Course 和SC表中学生的学号、姓名、课程号、课程名和成绩 -- 定义视图V_SC_G&#xff1a…

一本读懂BERT(实践篇)重点

目录 一、什么是BERT&#xff1f; 二、BERT安装 三、预训练模型 四、运行Fine-Tuning 五、数据读取源码阅读 &#xff08;一&#xff09; DataProcessor &#xff08;二&#xff09; MrpcProcessor 六、分词源码阅读 &#xff08;一&#xff09;FullTokenizer &#…

LeetCode简单题之圆形赛道上经过次数最多的扇区

题目 给你一个整数 n 和一个整数数组 rounds 。有一条圆形赛道由 n 个扇区组成&#xff0c;扇区编号从 1 到 n 。现将在这条赛道上举办一场马拉松比赛&#xff0c;该马拉松全程由 m 个阶段组成。其中&#xff0c;第 i 个阶段将会从扇区 rounds[i - 1] 开始&#xff0c;到扇区 …

LeetCode简单题之最小绝对差

题目 给你个整数数组 arr&#xff0c;其中每个元素都 不相同。 请你找到所有具有最小绝对差的元素对&#xff0c;并且按升序的顺序返回。 示例 1&#xff1a; 输入&#xff1a;arr [4,2,1,3] 输出&#xff1a;[[1,2],[2,3],[3,4]] 示例 2&#xff1a; 输入&#xff1a;arr […

合肥工业大学—SQL Server数据库实验十:用户及其权限管理

用户及其权限管理1. 创建登录名Mylog及密码2. 创建用户user2关联登录名3. 创建角色role14. 对用户user2及角色role1授权5. 验证用户授权6. 收回用户权限1. 创建登录名Mylog及密码 create login Mylog with password1234562. 创建用户user2关联登录名 -- 创建一个EDUC数据库用…

LeetCode简单题之二叉树中第二小的节点

题目 给定一个非空特殊的二叉树&#xff0c;每个节点都是正数&#xff0c;并且每个节点的子节点数量只能为 2 或 0。如果一个节点有两个子节点的话&#xff0c;那么该节点的值等于两个子节点中较小的一个。 更正式地说&#xff0c;即 root.val min(root.left.val, root.right…

pytorch学习 中 torch.squeeze() 和torch.unsqueeze()的用法

squeeze的用法主要就是对数据的维度进行压缩或者解压。 先看torch.squeeze() 这个函数主要对数据的维度进行压缩&#xff0c;去掉维数为1的的维度&#xff0c;比如是一行或者一列这种&#xff0c;一个一行三列&#xff08;1,3&#xff09;的数去掉第一个维数为一的维度之后就变…