-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLonely Pixel I.py
48 lines (35 loc) · 1.32 KB
/
Lonely Pixel I.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
'''
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: 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].
'''
class Solution(object):
def findLonelyPixel(self, picture):
"""
:type picture: List[List[str]]
:rtype: int
"""
if not picture:
return 0
row_b = [0 for i in xrange(len(picture))]
col_b = [0 for j in xrange(len(picture[0]))]
for i in xrange(len(picture)):
for j in xrange(len(picture[i])):
if picture[i][j] == 'B':
row_b[i] += 1
col_b[j] += 1
res = 0
for i in xrange(len(picture)):
for j in xrange(len(picture[i])):
if picture[i][j] == 'B' and row_b[i] == 1 and col_b[j] == 1:
res += 1
return res