LeetCode 531. Longly 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.

Note:

  1. The range of width and height of the input 2D array is [1,500].


题目标签:Array

  题目给了我们一个2d picture array,让我们找出有几个孤独的像素B。孤独的像素B的行和列中只有自己一个像素。

  可以建立2个 array, 分别是 row 和 col, 它们的size 就是picture里的行和列的size。

  第一次遍历picture:如果是B,就把B的row 和 column 在 row array 和 col array 里对应位置 加1。目的是为了记录每一行和每一列里有多少个B。

  第二次遍历picture:如果是B,就到对应的 row  和 col array 里, 如果 row 和 col 的值都是1 的话,说明这一个B 是 row 这一行里, 和 col 这一列里唯一的B。累计计数到res。

Java Solution:

Runtime beats 80.41%

完成日期:09/24/2017

关键词:Array

关键点:设立row array & col array 记录每一行每一列里有多少个B;孤单像素所在的行和列只有它自己

 1 class Solution
 2 {
 3     public int findLonelyPixel(char[][] picture)
 4     {
 5         int n = picture.length;
 6         int m = picture[0].length;
 7         // create two array for counting B
 8         int[] row = new int[n];
 9         int[] col = new int[m];
10
11         int res = 0; // counts longly black
12
13         // 1st iteration, if find a B, increase its row and col number in two array
14         for(int i=0; i<n; i++)
15         {
16             for(int j=0; j<m; j++)
17             {
18                 if(picture[i][j] == ‘B‘)
19                 {
20                     row[i]++;
21                     col[j]++;
22                 }
23             }
24         }
25
26
27         // 2nd iteration, if find a B, check its row and col are both 1, meaning lonly B
28         for(int i=0; i<n; i++)
29             for(int j=0; j<m; j++)
30                 if(picture[i][j] == ‘B‘ && row[i] == 1 && col[j] == 1)
31                     res++;
32
33         return res;
34     }
35 }

参考资料:

https://discuss.leetcode.com/topic/81680/java-o-nm-time-with-o-n-m-space-and-o-1-space-solutions

LeetCode 题目列表 - LeetCode Questions List

时间: 2024-10-27 14:02:14

LeetCode 531. Longly Pixel I (孤独的像素之一) $的相关文章

[LeetCode] 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

[LeetCode] Lonely Pixel II 孤独的像素之二

Given a picture consisting of black and white pixels, and a positive integer N, find the number of black pixels located at some specific row R and column C that align with all the following rules: Row R and column C both contain exactly N black pixel

531. 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

前端工程师需要明白的「像素」

场景: 人物:前端实习生「阿树」与 切图工程师「玉凤」 事件:设计师出设计稿,前端实现页面 玉凤:树,设计稿发给你啦,差那么点像素,就叼死你┏(  ̄へ ̄)=? 阿树:~(>_<)~毛问题噶啦~ 阿树:哇靠,为啥你给的设计稿是640px宽 ,iPhone 5不是320px宽吗??? 玉凤:A pixel is not a pixel is not a pixel, you know ? 阿树:(#‵′),I know Google... 为什么会出现以上的情况,难道他们当中一位出错了,摆了这样的

移动端开发--物理像素和逻辑像素

虽说在在web app开发中,只需要掌握页面布局,页面适配,能够将页面完美在各种设备上展现.但是,为什么要这样做?这样做原理是什么?这么优点是什么?深究下去,大家不一定很清晰. 那么,咱们一起学习下~ 一.2种像素 设备像素 设备像素是指设备中使用的物理像素,又称硬件像素 css像素 css像素是指css样式到吗中使用的逻辑像素.如果在一个设备中,硬件像素数与css像素数相等,将不会产生任何问题.但是,由于视网膜设备的出现,这两者之间的差异变得越来越大.硬件像素数与css像素数成为两种截然不同的

iOS开发中关于像素的几个概念

DPI与PPI DPI(Dots Per Inch)是印刷行业中用来度量空间点密度用的,这个值是打印机每英寸可以喷的墨汁点数. 计算机显示设备从打印机中借鉴了DPI的概念,由于计算机显示设备中的原子单位不是墨汁点而是像素,所以就创造了PPI(Pixels Per Inch),这个值是屏幕每英寸的像素数量,即像素密度(Screen density).由于各种原因,目前PPI(主要是iOS)和DPI(比如在Android中)都会用在计算机显示设备的参数描述中,不过二者的意思是一样的,都是代表像素密度

AnyForWeb分享:像素!你真的了解吗?

"像素"对于前端人员和设计师应该再熟悉不过了,但在他们的沟通过程中还是会出现很多关于像素的沟通障碍,其中的原因并不是因为各自观点不一致,而是因为,像素本就分为两种. AnyForWeb首先为大家分别介绍一下这两种像素的区别. 像素分为设备像素(device pixel)和CSS像素(CSS pixel).设备像素是我们在设备中使用的像素,是一种物理概念:而CSS像素是CSS样式代码中的逻辑元素,可以划分到web编程的概念中. 简单来说,设备像素就是设计师口中的像素,CSS像素是前端人员

关于CSS中的PX值(像素)

场景: 人物:前端实习生「阿树」与 切图工程师「玉凤」事件:设计师出设计稿,前端实现页面 玉凤:树,设计稿发给你啦,差那么点像素,就叼死你┏(  ̄へ ̄)=?阿树:~(>_<)~毛问题噶啦~阿树:哇靠,为啥你给的设计稿是640px宽 ,iPhone 5不是320px宽吗???玉凤:A pixel is not a pixel is not a pixel, you know ?阿树:(#‵′),I know Google... 为什么会出现以上的情况,难道他们当中一位出错了,摆了这样的乌龙?事实

LeetCode Problems List 题目汇总

No. Title Level Rate 1 Two Sum Medium 17.70% 2 Add Two Numbers Medium 21.10% 3 Longest Substring Without Repeating Characters Medium 20.60% 4 Median of Two Sorted Arrays Hard 17.40% 5 Longest Palindromic Substring Medium 20.70% 6 ZigZag Conversion Ea