302. Smallest Rectangle Enclosing Black Pixels

    /*
     * 302. Smallest Rectangle Enclosing Black Pixels
     * 2016-7-3 by Mingyang
     * 不看
     */
     int l,r,u,d;  
        public int minArea(char[][] image, int x, int y) {  
            //input check  
            u=x;  
            d=x;  
            l=y;  
            r=y;  
            int m = image.length-1;  
            int n = image[0].length-1;  
            boolean[][] visited = new boolean[m+1][n+1];  
            search(image, visited, x, y, m, n);  
            return (r-l+1) * (d-u+1);  
        }  
        private void search(char[][] image, boolean[][] visited, int x, int y, int m, int n) {  
            if(x<0 || x>m || y<0 || y>n || image[x][y]!='1' || visited[x][y]) return;  
            visited[x][y] = true;  
            if(x<u) u=x;  
            else if(x>d)d=x;  
            if(y<l) l=y;  
            else if(y>r) r=y;  
            search(image, visited, x-1, y, m, n);  
            search(image, visited, x, y-1, m, n);  
            search(image, visited, x+1, y, m, n);  
            search(image, visited, x, y+1, m, n);  
        }  
原文地址:https://www.cnblogs.com/zmyvszk/p/5639333.html