首页 > 其他 > 详细

【leetcode】图片平滑器

时间:2020-09-26 10:07:51      阅读:58      评论:0      收藏:0      [点我收藏+]

 

/*C语言解法*/
int** imageSmoother(int** M, int MSize, int* MColSize, int* returnSize, int** returnColumnSizes){
    int row,col,sum,count;
    int** arr = (int**)calloc(MSize,sizeof(int*));
    for (row=0; row<MSize; row++)
    {
        arr[row] = (int*)calloc(*MColSize,sizeof(int));
        for (col=0; col<MColSize[row]; col++)
        {
            count=1;
            sum=M[row][col];
            if (col-1>=0) 
            {
                sum += M[row][col-1];
                count++;
            }
            if (col-1>=0 && row-1>=0)
            {
                sum += M[row-1][col-1];
                count++;
            }
            if (row-1>=0)
            {
                sum += M[row-1][col];
                count++;
            }
            if (col+1<*MColSize && row-1>=0)
            {
                sum += M[row-1][col+1];
                count++;
            }
            if (col+1<*MColSize)
            {
                sum += M[row][col+1];
                count++;
            }
            if (col+1<*MColSize && row+1<MSize)
            {
                sum += M[row+1][col+1];
                count++;
            }
            if (row+1<MSize)
            {
                sum += M[row+1][col];
                count++;
            }
            if (col-1>=0 && row+1<MSize)
            {
                sum += M[row+1][col-1];
                count++;
            }            
            arr[row][col] = sum/count;
        }
    }
    *returnColumnSizes = MColSize;
    *returnSize=MSize;
    return arr;
}

 

【leetcode】图片平滑器

原文:https://www.cnblogs.com/ganxiang/p/13733928.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!