在上一个代码上改的,个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; }}
新闻热点
疑难解答