int cmp(int **x, int **y) {
int *a = *x;
int *b = *y;
return abs(a[0]-a[2]) + abs(a[1]-a[3]) - (abs(b[0]-b[2]) + abs(b[1]-b[3]) );
}
int** allCellsDistOrder(int R, int C, int r0, int c0,
int* returnSize, int** returnColumnSizes){
int **ret = (int **)malloc(sizeof(int*) * R * C);
int *rcs = (int *)malloc(sizeof(int) * R * C);
int i, j, index=0;
for(i=0; i<R; i++){
for(j=0; j<C; j++){
rcs[index] = 2;
ret[index] = (int *)malloc(sizeof(int) * 4);
ret[index][2] = r0;
ret[index][3] = c0;
ret[index][0] = i;
ret[index++][1] = j;
}
}
qsort(ret, R*C, sizeof(int*), cmp);
*returnSize = index;
*returnColumnSizes = rcs;
return ret;
}
leetcode-1030. 距离顺序排列矩阵单元格-C语言
最新推荐文章于 2021-09-08 17:03:28 发布