You are viewing a single comment's thread. Return to all comments →
int surfaceArea(vector> A) { int n = A.size(); int m = A[0].size(); int res = n * m * 2; for(int j = 0; j < m; j++){ res+= A[0][j]; res+= A[n - 1][j]; } for(int i = 0; i < n; i++){ res += A[i][0]; res += A[i][m - 1]; } for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++){ if(i - 1 >= 0 && (A[i][j] - A[i - 1][j] > 0)){ res += A[i][j] - A[i - 1][j]; } if(i + 1 < n && (A[i][j] - A[i + 1][j] > 0)){ res += A[i][j] - A[i + 1][j]; } if(j - 1 >= 0 && (A[i][j] - A[i][j - 1] > 0)){ res += A[i][j] - A[i][j - 1]; } if(j + 1 < m && (A[i][j] - A[i][j + 1] > 0)){ res += A[i][j] - A[i][j + 1]; } } } return res; }
Seems like cookies are disabled on this browser, please enable them to open this website
3D Surface Area
You are viewing a single comment's thread. Return to all comments →
int surfaceArea(vector> A) { int n = A.size(); int m = A[0].size(); int res = n * m * 2; for(int j = 0; j < m; j++){ res+= A[0][j]; res+= A[n - 1][j]; } for(int i = 0; i < n; i++){ res += A[i][0]; res += A[i][m - 1]; } for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++){ if(i - 1 >= 0 && (A[i][j] - A[i - 1][j] > 0)){ res += A[i][j] - A[i - 1][j]; } if(i + 1 < n && (A[i][j] - A[i + 1][j] > 0)){ res += A[i][j] - A[i + 1][j]; } if(j - 1 >= 0 && (A[i][j] - A[i][j - 1] > 0)){ res += A[i][j] - A[i][j - 1]; } if(j + 1 < m && (A[i][j] - A[i][j + 1] > 0)){ res += A[i][j] - A[i][j + 1]; } } } return res; }