• + 0 comments

    java solution,

    if(H==1 && W ==1) {
                return 4 * A.get(0).get(0) + 2;
            } else {
                int sides = 0;
                int top = H * W;
                int topSides = 0;
                for(int i=0;i<H;i++) {
                    sides += A.get(i).get(0);
                    sides += A.get(i).get(W-1);
                    for(int j=1;j<W;j++) {
                        topSides += Math.abs(A.get(i).get(j) - A.get(i).get(j-1));
                    }
                }
                for(int j=0;j<W;j++) {
                    sides += A.get(0).get(j);
                    sides += A.get(H-1).get(j);
                    for(int i=1;i<H;i++) {
                        topSides += Math.abs(A.get(i).get(j) - A.get(i-1).get(j));
                    }
                }
                return sides + top * 2 + topSides;
            }