531. Lonely Pixel I

来源:互联网 发布:外国人丁丁体验知乎 编辑:程序博客网 时间:2024/06/07 00:49

Given a picture consisting of black and white pixels, find the number of black lonely pixels.

The picture is represented by a 2D char array consisting of 'B' and 'W', which means black and white pixels respectively. 

A black lonely pixel is character 'B' that located at a specific position where the same row and same column don't have any other black pixels.

Example:

Input: [['W', 'W', 'B'], ['W', 'B', 'W'], ['B', 'W', 'W']]Output: 3Explanation: All the three 'B's are black lonely pixels.

Note:

  1. The range of width and height of the input 2D array is [1,500].
遍历数组两次,第一次记录行和列共有几个‘B’,第二次遍历时遇到‘B’,如果这一行和列只有一个B,count++。代码如下:

public class Solution {    public int findLonelyPixel(char[][] picture) {        int m = picture.length, n = picture[0].length;        int[] row = new int[m];        int[] col = new int[n];        for (int i = 0; i < m; i ++) {            for (int j = 0; j < n; j ++) {                if (picture[i][j] == 'B') {                    row[i] ++;                    col[j] ++;                }            }        }        int count = 0;        for (int i = 0; i < m; i ++) {            for (int j = 0; j < n; j ++) {                if (picture[i][j] == 'B' && row[i] == 1 && col[j] == 1) {                    count ++;                }            }        }        return count;    }}




原创粉丝点击