Lonely Pixel I
Given a picture consisting of black and white pixels, find the number ofblacklonely 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:
3
Explanation:
All the three 'B's are black lonely pixels.
Note:
The range of width and height of the input 2D array is [1,500].
分析
先双loop 得到 col[m] 纵col所有B数。 col[i]:当前i行的B的总数(对比N queen问题 col[i] 是当前i行放置棋子的col index
再双loop 每个row的B数,和col[pos]比较 都为1 res++
class Solution:
def findLonelyPixel(self, picture: List[List[str]]) -> int:
if not picture or not picture[0]:
return 0
n, m = len(picture), len(picture[0])
col = [0]*m
res = 0
for i in range(n):
for j in range(m):
if picture[i][j] == 'B':
col[j] += 1
for i in range(n):
cnt = pos = 0
for j in range(m):
if picture[i][j] == 'B':
cnt += 1
pos = j
if cnt == 1 and col[pos] == 1:
res += 1
return res
Last updated
Was this helpful?