1030. Matrix Cells in Distance Order 距离顺序排列矩阵单元格
作者： 负雪明烛 id： fuxuemingzhu 个人博客： http://fuxuemingzhu.cn/
We are given a matrix with R rows and C columns has cells with integer coordinates
(r, c), where
0 <= r < R and
0 <= c < C.
Additionally, we are given a cell in that matrix with coordinates
Return the coordinates of all cells in the matrix, sorted by their distance from
(r0, c0) from smallest distance to largest distance. Here, the distance between two cells
(r1, c1) and
(r2, c2) is the Manhattan distance,
|r1 - r2| + |c1 - c2|. (You may return the answer in any order that satisfies this condition.)
Input: R = 1, C = 2, r0 = 0, c0 = 0 Output: [[0,0],[0,1]] Explanation: The distances from (r0, c0) to other cells are: [0,1]
Input: R = 2, C = 2, r0 = 0, c0 = 1 Output: [[0,1],[0,0],[1,1],[1,0]] Explanation: The distances from (r0, c0) to other cells are: [0,1,1,2] The answer [[0,1],[1,1],[0,0],[1,0]] would also be accepted as correct.
Input: R = 2, C = 3, r0 = 1, c0 = 2 Output: [[1,2],[0,2],[1,1],[0,1],[1,0],[0,0]] Explanation: The distances from (r0, c0) to other cells are: [0,1,1,2,2,3] There are other answers that would also be accepted as correct, such as [[1,2],[1,1],[0,2],[1,0],[0,1],[0,0]].
1 <= R <= 100
1 <= C <= 100
0 <= r0 < R
0 <= c0 < C
有一个R * C的表格，把里面的每个坐标按照和点(r0, c0)的曼哈顿距离排序。
class Solution(object): def allCellsDistOrder(self, R, C, r0, c0): """ :type R: int :type C: int :type r0: int :type c0: int :rtype: List[List[int]] """ dis =  for r in range(R): for c in range(C): dis.append((abs(r0 - r) + abs(c0 - c), [r, c])) dis.sort() return [x for d, x in dis]
2019 年 8 月 31 日 —— 赶在月底做个题