力扣 距离顺序排列矩阵单元格

题目描述

给出 R 行 C 列的矩阵,其中的单元格的整数坐标为 (r, c),满足 0 <= r < R 且 0 <= c < C。

另外,我们在该矩阵中给出了一个坐标为 (r0, c0) 的单元格。

返回矩阵中的所有单元格的坐标,并按到 (r0, c0) 的距离从最小到最大的顺序排,其中,两单元格(r1, c1) 和 (r2, c2) 之间的距离是曼哈顿距离,|r1 - r2| + |c1 - c2|。(你可以按任何满足此条件的顺序返回答案。)

示例 1:

输入:R = 1, C = 2, r0 = 0, c0 = 0
输出:[[0,0],[0,1]]
解释:从 (r0, c0) 到其他单元格的距离为:[0,1]
示例 2:

输入:R = 2, C = 2, r0 = 0, c0 = 1
输出:[[0,1],[0,0],[1,1],[1,0]]
解释:从 (r0, c0) 到其他单元格的距离为:[0,1,1,2]
[[0,1],[1,1],[0,0],[1,0]] 也会被视作正确答案。
示例 3:

输入:R = 2, C = 3, r0 = 1, c0 = 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 <= R <= 100
1 <= C <= 100
0 <= r0 < R
0 <= c0 < C

要点分析

将单元格存入结果中,然后按照自定义的排序方法进行排序即可, 难点在于sort自定义排序

class Solution {public:vector<vector<int>> allCellsDistOrder(int R, int C, int r0, int c0) {vector<vector<int>>ans;for(int i=0;i<R;i++){for(int j=0;j<C;j++){ans.push_back({i,j});}}//记住下面的用法sort(ans.begin(), ans.end(), [=](vector<int>& a, vector<int>& b) {return abs(a[0] - r0) + abs(a[1] - c0) < abs(b[0] - r0) + abs(b[1] - c0);});return ans;}
};

力扣 距离顺序排列矩阵单元格相关推荐

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

    题目 给定四个整数 row , cols , rCenter 和 cCenter .有一个 rows x cols 的矩阵,你在单元格上的坐标是 (rCenter, cCenter) . 返回矩阵中的 ...

  2. LeetCode 1030. 距离顺序排列矩阵单元格(排序Lambda表达式BFS)

    文章目录 1. 题目 2. 解题 2.1 multimap 2.2 Lambda 表达式排序 2.3 BFS搜索 1. 题目 给出 R 行 C 列的矩阵,其中的单元格的整数坐标为 (r, c),满足 ...

  3. leetcode 1030. 距离顺序排列矩阵单元格(bfs)

    给出 R 行 C 列的矩阵,其中的单元格的整数坐标为 (r, c),满足 0 <= r < R 且 0 <= c < C. 另外,我们在该矩阵中给出了一个坐标为 (r0, c0 ...

  4. LeetCode(1030)——距离顺序排列矩阵单元格(JavaScript)

    给出 R 行 C 列的矩阵,其中的单元格的整数坐标为 (r, c),满足 0 <= r < R 且 0 <= c < C. 另外,我们在该矩阵中给出了一个坐标为 (r0, c0 ...

  5. Leetcode每日一题:1030.matrix-cells-in-distance-order(距离顺序排列矩阵单元格)

    思路:自定义排序,按距离大小排序: class Solution {public:vector<vector<int>> allCellsDistOrder(int R, in ...

  6. 力扣59-螺旋矩阵(C++)

    59. 螺旋矩阵 II - 力扣(LeetCode) (leetcode-cn.com)https://leetcode-cn.com/problems/spiral-matrix-ii/ 思路: 找 ...

  7. Word和Excel齐发力,将多个单元格的文本内容合并到一个单元格

    有时候在处理Excel表格的时候,我们需要将多个单元格的文本内容合并到一个单元格中,中间添加\或,之类的分隔符.比如下面这个表格,左侧是原始单元格的内容,右侧是希望合并的结果,每个单元格之间用逗号分隔 ...

  8. 力扣 378. 有序矩阵中第 K 小的元素

    我的第一反应是,在这个矩阵中取任意一点(i,j),那么至少有 (i + 1) (j + 1)- 1* 个数比他小(即左上角的部分矩阵),然后再想想剩余的比它小的数必定是分布在这个小矩阵的下左两条边,由 ...

  9. 力扣378.有序矩阵中第K小的元素

    378.有序矩阵中第K小的元素 思路: 利用优先级队列,改成最大堆,存入队列中,大于k抛出即可 代码实现 class Solution {public int kthSmallest(int[][] ...

最新文章

  1. Maven手动将jar包放入本地仓库
  2. Pytorch-nn.BatchNorm2d()
  3. 在项目中使用JMail发送邮件
  4. jenkins+github+docker+maven自动化构建部署
  5. 向一个有N个元素的顺序表中插入一个元素,平均要移动的次数为多少
  6. P1005 采药(Tyvj)
  7. Android开发之Java基础JVM和ClassLoader以及类加机制面试题
  8. cookie ? 利用cookie实现 显示上次访问时间?
  9. python实现栈的操作入站出站查找元素等_Python实现的栈(Stack)
  10. workbook对象需要关闭_XSSFWorkbook对象 进行zip打包时 用write资源流自动关闭处理办法...
  11. css3圆形修边按钮
  12. python之路----递归函数(二分查找法)
  13. ACM 学习笔记(一) 常用STL讲解
  14. HttpURLConnection模拟form表单提交文件
  15. Android数据结构与算法(一):基础简介
  16. 基于matlab 的燃油喷雾图像处理方法,基于matlab的燃油喷雾图像处理方法
  17. 编辑手机pad端调试方法
  18. 互联网日报 | 5月6日 星期四 | 阿里巴巴旗下“天猫香港”上线试营业;蔚来汽车将进军海外市场;五一档票房超16亿创新高...
  19. Shiro高版本默认密钥的漏洞利用
  20. wox开机自启_快速启动神器 Wox

热门文章

  1. 浪潮科大讯飞Altera用OpenCL实现FPGA深度学习语音识别加速方案
  2. solutions for 'No Suitable Driver Found For Jdbc'
  3. ISA2006之SP1的作用
  4. 为什么负数的补码是取反加一
  5. 【调试手段】:printf统一为宏控制
  6. 宏的高级使用--##,__VA_ARGS__, __FILE__, __FUNCTION__等
  7. javascript实例自学手册光盘源码_零基础,自学编程,如何选择语言?
  8. python中syntaxerror_【已解决】Python中两个星号**参数去传递给函数出错:SyntaxError invalid syntax...
  9. 【转】DataTable与实体类互相转换
  10. python几个面试题整理