题目描述
链接:点我
注意:多看几遍题目,开始没看懂…相当于计算矩阵网格里面的点(不要计算边界) 我开了题解才明白题的意思 orz…文章来源地址https://www.toymoban.com/news/detail-670453.html
题解
class Solution {
public int[][] allCellsDistOrder(int rows, int cols, int rCenter, int cCenter) {
int ans[][] = new int[rows*cols][]; // 是一个二维整数数组,用于存储排序后的单元格坐标。
for(int i = 0;i<rows;i++){
for(int j=0;j<cols;j++)
//将矩阵中的每个单元格的行索引 i 和列索引 j 存储在 ans 数组的相应位置上,从而形成一个具有二维坐标信息的数组。
ans[cols*i + j] = new int[]{i,j}; //
}
// 自定义数组排序 参考:https://blog.csdn.net/qq_45733304/article/details/124350468
Arrays.sort(ans, new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
//升序排列 下标0表示行,1表示列
return (Math.abs(o1[0] - rCenter) + Math.abs(o1[1] - cCenter))-(Math.abs(o2[0] - rCenter) + Math.abs(o2[1] - cCenter));
}
});
return ans;
}
}
文章来源:https://www.toymoban.com/news/detail-670453.html
到了这里,关于力扣题解(1030. 距离顺序排列矩阵单元格),带注释的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!