Leetcode 533 Lonely Pixel II

来源:互联网 发布:php is numeric 漏洞 编辑:程序博客网 时间:2024/05/17 12:51
在上一个代码上改的,个rule2看了半天没看懂。。rule2的意思是,若一个b其所在的行列都等于N,那么其所有列都与本行一毛一样,那么count++
public class Solution {    public int findBlackPixel(char[][] picture, int N) {        int count=0;        HashMap<Integer,Integer> row =new HashMap<>();        HashMap<Integer,LinkedList<Integer>> column =new HashMap<>();        HashMap<Integer,String> table =new HashMap<>();        for(int i=0;i<picture.length;i++){            for(int j=0;j<picture[0].length;j++){                if(picture[i][j]=='B'){                    if(row.containsKey(i)){                        row.put(i,row.get(i)+1);                    }else{                        row.put(i,1);                    }                    if(column.containsKey(j)){                        column.get(j).add(i);                        column.put(j,column.get(j));                    }else{                        LinkedList<Integer> list=new LinkedList<>();                        list.add(i);                        column.put(j,list);                     }                }            }            table.put(i,String.valueOf(picture[i]));        }        for(int i=0;i<picture.length;i++){            for(int j=0;j<picture[0].length;j++){                    if(picture[i][j]=='B'&&(row.containsKey(i)&&row.get(i)==N&&column.containsKey(j)&&column.get(j).size()==N)){                    LinkedList<Integer> list=column.get(j);                    boolean mark=true;                    for(int k=0;k<list.size();k++){                        if(!table.get(i).equals(table.get(list.get(k)))){                            mark=false;                        }                    }                    if(mark) count++;                }            }        }        return count;    }}
0 0
原创粉丝点击