目录

0531:孤独像素 I(★)

力扣第 531 题

题目

给你一个大小为 m x n 的图像 picture ,图像由黑白像素组成,'B' 表示黑色像素,'W' 表示白色像素,请你统计并返回图像中 黑色 孤独像素的数量。

黑色孤独像素 的定义为:如果黑色像素 'B' 所在的同一行和同一列不存在其他黑色像素,那么这个黑色像素就是黑色孤独像素。

示例 1:

输入:picture = [["W","W","B"],["W","B","W"],["B","W","W"]]
输出:3
解释:全部三个 'B' 都是黑色的孤独像素

示例 2:

输入:picture = [["B","B","B"],["B","B","W"],["B","B","B"]]
输出:0

提示:

  • m == picture.length
  • n == picture[i].length
  • 1 <= m, n <= 500
  • picture[i][j]'W''B'

分析

先统计每行/列的黑色像素个数。然后判断每个黑色像素是否符合即可。

解答

1
2
3
4
5
def findLonelyPixel(self, picture: List[List[str]]) -> int:
	m, n = len(picture), len(picture[0])
	r = [row.count('B') for row in picture]
	c = [col.count('B') for col in zip(*picture)]
	return sum(r[i]==c[j]==1 for i in range(m) for j in range(n) if picture[i][j]=='B')

56 ms