2022-07-12 1252. 奇数值单元格的数目(20220712黄历)

网友投稿 280 2022-08-25


2022-07-12 1252. 奇数值单元格的数目(20220712黄历)

题目:

给你一个 m x n 的矩阵,最开始的时候,每个单元格中的值都是 0。另有一个二维索引数组 indices,indices[i] = [ri, ci] 指向矩阵中的某个位置,其中 ri 和 ci 分别表示指定的行和列(从 0 开始编号)。对 indices[i] 所指向的每个位置,应同时执行下述增量操作:ri 行上的所有单元格,加 1 。ci 列上的所有单元格,加 1 。给你 m、n 和 indices 。请你在执行完所有 indices 指定的增量操作后,返回矩阵中 奇数值单元格 的数目。来源:力扣(LeetCode)链接:Solution: def oddCells(self, m: int, n: int, indices: List[List[int]]) -> int: lst = [[0 for j in range(n)]for i in range(m)] for indice in indices: row,col = indice for i in range(m): lst[i][col] +=1 for j in range(n): lst[row][j] += 1 res = 0 for row in lst: for x in row: if x%2 == 1: res += 1 return res

看了官方题解后,发现可以优化到10行:

class Solution: def oddCells(self, m: int, n: int, indices: List[List[int]]) -> int: lst = [[0 for j in range(n)]for i in range(m)] for indice in indices: row,col = indice for i in range(m): lst[i][col] +=1 for j in range(n): lst[row][j] += 1 return sum(x%2 for row in lst for x in row )

统计二维列表中奇数的个数,可以列表推导+sum(iterable)函数一行完成。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:函数(函数的定义)
下一篇:SSM如何实现在Controller中添加事务管理
相关文章

 发表评论

暂时没有评论,来抢沙发吧~