zoukankan      html  css  js  c++  java
  • LeetCode 661. Image Smoother

    Given a 2D integer matrix M representing the gray scale of an image, you need to design a smoother to make the gray scale of each cell becomes the average gray scale (rounding down) of all the 8 surrounding cells and itself. If a cell has less than 8 surrounding cells, then use as many as you can.

    Example 1:

    Input:
    [[1,1,1],
     [1,0,1],
     [1,1,1]]
    Output:
    [[0, 0, 0],
     [0, 0, 0],
     [0, 0, 0]]
    Explanation:
    For the point (0,0), (0,2), (2,0), (2,2): floor(3/4) = floor(0.75) = 0
    For the point (0,1), (1,0), (1,2), (2,1): floor(5/6) = floor(0.83333333) = 0
    For the point (1,1): floor(8/9) = floor(0.88888889) = 0
    

    Note:

    • The value in the given matrix is in the range of [0, 255].
    • The length and width of the given matrix are in the range of [1, 150].
    class Solution {
    public:
        bool islegal(int i, int j){
            if(i>=0&&i<row&&j>=0&&j<col)
               return true;
            else
               return false;
        }
        vector<vector<int>> imageSmoother(vector<vector<int>>& M) {
             vector<vector<int>> temp=M;
             row=M.size(), col=M[0].size();
             for(int i=0; i<row; i++)
                 for(int j=0; j<col; j++){
                     double cnt=0,sum=0;
                     for(int k=0;k<9;k++){
                         int r=i+dict[k][0], c=j+dict[k][1];
                         if(islegal(r,c)){
                             cnt++;
                             sum+=M[r][c];
                         }
                     }
                     temp[i][j]=floor(sum/cnt);
                 }
            return temp;
        }
    private:
        int row, col;
        vector<vector<int>> dict={{1,0},{0,1},{1,1},{0,0},{-1,0},{0,-1},{-1,-1},{1,-1},{-1,1}};
    };
    
  • 相关阅读:
    [NOI2014]起床困难综合症(贪心+位运算)(暑假ACM1 A)
    BZOJ 2456 mode(找众数)(暑假ACM1 F)
    [POI2000]病毒(补全AC自动机)
    [NOI2005]聪聪与可可
    BZOJ4500矩阵
    网络编程物理层
    当列表推导式遇到lambda(匿名函数)
    写学生管理系统后的一些感想
    深入学习python内存管理
    python基础详解
  • 原文地址:https://www.cnblogs.com/A-Little-Nut/p/10079991.html
Copyright © 2011-2022 走看看