Leetcode - Reveal Cards In Increasing Order
Leetcode - Student Attendance Record I

Leetcode - Lonely Pixel I

violet posted @ Apr 18, 2020 06:47:12 AM in 算法 with tags Algorithm Golang array , 195 阅读

https://leetcode.com/problems/lonely-pixel-i/

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.

 

func findLonelyPixel(picture [][]byte) int {
    if len(picture) == 0 || len(picture[0]) == 0 {
        return 0
    }
    m := len(picture)
    n := len(picture[0])
    rowCount := make([]int, m)
    columnCount := make([]int, n)
    for i := 0; i < m; i++ {
        for j := 0; j < n; j++ {
            if picture[i][j] == 'B' {
                rowCount[i]++
                columnCount[j]++
            }
        }
    }
    
    count := 0
    for i := 0; i < m; i++ {
        for j := 0; j < n; j++ {
            if picture[i][j] == 'B' && rowCount[i] == 1 && columnCount[j] == 1 {
                count++
            }
        }
    }
    
    return count
}

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter