leetcode[Image Smoother]//待整理多种解法

来源:互联网 发布:大数据怎么搜索 编辑:程序博客网 时间:2024/06/10 02:51

解法一:

class Solution {    public int[][] imageSmoother(int[][] M) {    int[][] res = new int[M.length][M.length != 0 ? M[0].length : 0];        for(int i = 0; i < M.length; i++){        for(int j = 0; j < M[0].length; j++){        int sum = 0;        int count = 0;        if(i - 1 >= 0 && j - 1 >= 0){//左上方        count++;        sum += M[i - 1][j - 1];        }        if(i - 1 >= 0){//正上方        count++;        sum += M[i - 1][j];        }        if(i - 1 >= 0 && j + 1 < M[0].length){//右上方        count++;        sum += M[i - 1][j + 1];        }        if(j - 1 >= 0){//正左方        count++;        sum += M[i][j - 1];        }        count++;//自己    sum += M[i][j];        if(j + 1 < M[0].length){//正右方        count++;        sum += M[i][j + 1];        }        if(i + 1 < M.length && j - 1 >= 0){//左下方        count++;        sum += M[i + 1][j - 1];        }        if(i + 1 < M.length){//正下方        count++;        sum += M[i + 1][j];        }        if(i + 1 < M.length && j + 1 < M[0].length){//右下方        count++;        sum += M[i + 1][j + 1];        }                res[i][j] = (int) Math.floor(sum / 1.0 / count);        }        }                 return res;    }}


阅读全文
0 0
原创粉丝点击