【leetcode 533. 孤独像素 II】Python 解题思路

这篇博客探讨了LeetCode 533问题的解决方案,即寻找图像中满足特定条件的黑色像素数量。作者指出题目要求理解难度较高,需要确保满足两个条件:特定行和列都包含N个黑色像素,且这些黑色像素所在行与目标行相同。文章揭示了作者在算法和数据结构理解上的不足,并分享了解决问题的关键思路,即统计行和列的黑色元素个数,然后验证符合条件的列中黑色像素所在的行是否与目标行匹配。
摘要由CSDN通过智能技术生成

给定一幅由黑色像素和白色像素组成的图像, 与一个正整数N, 找到位于某行 R 和某列 C 中且符合下列规则的黑色像素的数量:
1 行R 和列C都恰好包括N个黑色像素。
2 列C中所有黑色像素所在的行必须和行R完全相同。
图像由一个由‘B’和‘W’组成二维字符数组表示, ‘B’和‘W’分别代表黑色像素和白色像素。

讲真,题目中的第二个条件我也是看了好几遍才看懂(语文该重学了),第二个条件是说 列C中所有黑色像素所在的行 (可能有很多行),这些行都和行R完全一致。

感觉自己对算法和数据结构的理解还是太欠缺了,每次提交都是 空间复杂度度 还可以,但时间复杂度太高。
解题思路:统计每行每列黑色元素个数,然后对于符合条件的列 判断其有黑色元素的行 是否和前面符合条件的行完全一致。

class Solution:
    def findBlackPixel(self, picture: List[List[str]], N: int) -> int:
        row_num=[]
        col_num<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值