遍历每个位置
遍历周围9格子的位置
classSolution{publicint[][]imageSmoother(int[][]img){intm=img.length;intn=img[0].length;int[][]ans=newint[m][n];for(inti=0;im;i++){for(intj=0;jn;j++){intcnt=0;intsum=0;for(intk=i-1;k=i+1;k++){for(intt=j-1;t=j+1;t++){if(k=0kmt=0tn){++cnt;sum+=img[k][t];}}}ans[i][j]=sum/cnt;}}returnans;}}
时间复杂度:O(mn)空间复杂度:O(1)
其他思路二维前缀和,计算每个位置到左上角的和,然后计算范围模块面积(缺点:元素值太大了会溢出)
滑动窗口,计算第一个位置和,每次左移,都去掉左边的列,加上右边的列,第一列下移则去掉第一行,增加最后一行
预览时标签不可点收录于话题#个上一篇下一篇