emmm,好像到了下午,思路就不清楚了,腦袋不清楚,直接看了discussion
既然自己沒有想出來,那就記住他!嗯!這個是每次檢查左邊和後面,
class Solution { public: int surfaceArea(vector<vector<int>>& grid) { int l = grid.size(); int res = 0; for( int i = 0 ; i < l ; i ++ ){ for( int j = 0 ; j < l ; j ++ ){ if( grid[ i ][ j ] != 0 )res += grid[ i ][ j ] * 4 + 2; if( i >= 1 )res -= min( grid[ i ][ j ] , grid[ i - 1 ][ j ] ) * 2; if( j >= 1 )res -= min( grid[ i ][ j ] , grid[ i ][ j - 1 ] ) * 2; } } return res; } };