@@ -29,56 +29,58 @@ For the point (1,1): floor(8/9) = floor(0.88888889) = 0
2929
3030 */
3131public class _661 {
32- public int [][] imageSmoother (int [][] M ) {
33- if (M == null || M .length == 0 ) {
34- return M ;
35- }
36- int m = M .length ;
37- int n = M [0 ].length ;
38- int [][] result = new int [m ][n ];
39- for (int i = 0 ; i < m ; i ++) {
40- for (int j = 0 ; j < n ; j ++) {
41- bfs (M , i , j , result , m , n );
32+ public static class Solution1 {
33+ public int [][] imageSmoother (int [][] M ) {
34+ if (M == null || M .length == 0 ) {
35+ return M ;
36+ }
37+ int m = M .length ;
38+ int n = M [0 ].length ;
39+ int [][] result = new int [m ][n ];
40+ for (int i = 0 ; i < m ; i ++) {
41+ for (int j = 0 ; j < n ; j ++) {
42+ bfs (M , i , j , result , m , n );
43+ }
4244 }
45+ return result ;
4346 }
44- return result ;
45- }
4647
47- private void bfs (int [][] M , int i , int j , int [][] result , int m , int n ) {
48- int sum = M [i ][j ];
49- int denominator = 1 ;
50- if (j + 1 < n ) {
51- sum += M [i ][j + 1 ];
52- denominator ++;
53- }
54- if (i + 1 < m && j + 1 < n ) {
55- sum += M [i + 1 ][j + 1 ];
56- denominator ++;
57- }
58- if (i + 1 < m ) {
59- sum += M [i + 1 ][j ];
60- denominator ++;
61- }
62- if (i + 1 < m && j - 1 >= 0 ) {
63- sum += M [i + 1 ][j - 1 ];
64- denominator ++;
65- }
66- if (j - 1 >= 0 ) {
67- sum += M [i ][j - 1 ];
68- denominator ++;
69- }
70- if (i - 1 >= 0 && j - 1 >= 0 ) {
71- sum += M [i - 1 ][j - 1 ];
72- denominator ++;
73- }
74- if (i - 1 >= 0 ) {
75- sum += M [i - 1 ][j ];
76- denominator ++;
77- }
78- if (i - 1 >= 0 && j + 1 < n ) {
79- sum += M [i - 1 ][j + 1 ];
80- denominator ++;
48+ private void bfs (int [][] M , int i , int j , int [][] result , int m , int n ) {
49+ int sum = M [i ][j ];
50+ int denominator = 1 ;
51+ if (j + 1 < n ) {
52+ sum += M [i ][j + 1 ];
53+ denominator ++;
54+ }
55+ if (i + 1 < m && j + 1 < n ) {
56+ sum += M [i + 1 ][j + 1 ];
57+ denominator ++;
58+ }
59+ if (i + 1 < m ) {
60+ sum += M [i + 1 ][j ];
61+ denominator ++;
62+ }
63+ if (i + 1 < m && j - 1 >= 0 ) {
64+ sum += M [i + 1 ][j - 1 ];
65+ denominator ++;
66+ }
67+ if (j - 1 >= 0 ) {
68+ sum += M [i ][j - 1 ];
69+ denominator ++;
70+ }
71+ if (i - 1 >= 0 && j - 1 >= 0 ) {
72+ sum += M [i - 1 ][j - 1 ];
73+ denominator ++;
74+ }
75+ if (i - 1 >= 0 ) {
76+ sum += M [i - 1 ][j ];
77+ denominator ++;
78+ }
79+ if (i - 1 >= 0 && j + 1 < n ) {
80+ sum += M [i - 1 ][j + 1 ];
81+ denominator ++;
82+ }
83+ result [i ][j ] = sum / denominator ;
8184 }
82- result [i ][j ] = sum / denominator ;
8385 }
8486}
0 commit comments