博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[leetcode-661-Image Smoother]
阅读量:6208 次
发布时间:2019-06-21

本文共 1350 字,大约阅读时间需要 4 分钟。

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) = 0For the point (0,1), (1,0), (1,2), (2,1): floor(5/6) = floor(0.83333333) = 0For the point (1,1): floor(8/9) = floor(0.88888889) = 0

 

Note:

  1. The value in the given matrix is in the range of [0, 255].
  2. The length and width of the given matrix are in the range of [1, 150].

思路:

实现类似卷积的效果。

vector
> imageSmoother(vector
>& M){ vector
> ret( M ); int sum = 0; int rowNum = M.size(); int colNum = M[0].size(); int cnt = 0; for( int i = 0; i < rowNum; i++ ) { for( int j = 0; j < colNum; j++ ) { sum = 0; cnt = 0; for( int k = i-1; k <= i+1; k++ ) { for( int p = j - 1; p <= j+1; p++ ) { if( k < 0 || p < 0 || k >= rowNum || p >= colNum ) { continue; } sum += M[k][p]; cnt++; } } ret[i][j] = sum / cnt; } } return ret;}

转载于:https://www.cnblogs.com/hellowooorld/p/7399352.html

你可能感兴趣的文章
Java笔试之Singleton
查看>>
android自动化框架简要剖析(一):运行原理+基本框架
查看>>
处理测试环境硬盘爆满
查看>>
Python函数积累
查看>>
bzoj 2296: 【POJ Challenge】随机种子
查看>>
MPU和MCU的区别和选择
查看>>
js call
查看>>
apply和call用法
查看>>
学习笔记之-------UIScrollView 基本用法 代理使用
查看>>
如何理解运维
查看>>
JAVA流程控制学习总结
查看>>
nib和xib的区别
查看>>
== 和 is 的区别
查看>>
2018年,牛客网小白月赛5
查看>>
sql 锁
查看>>
生死相依:说说JQuery中die()、live()详解[翻译]
查看>>
UML建模工具Visio 、Rational Rose、PowerDesign的比较
查看>>
JAVA常见算法题(九)
查看>>
Hbase集群扩展
查看>>
绘制loss曲线
查看>>