news 2026/6/8 19:37:32

干货分享:奇数值单元格的数目(二)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
干货分享:奇数值单元格的数目(二)

解决方案

方法一:直接模拟思路和算法直接使用使用一个 n × m 的矩阵来存放操作的结果,对于 indices 中的每一对 [ ri , ci ] ,将矩阵第 ri 行的所有数增加 1 ,第 ci 列的所有数增加 1 。在所有操作模拟完毕后,我们遍历矩阵,得到奇数的数目。

代码

Python3

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

Java

class Solution { public int oddCells(int m, int n, int[][] indices) { int res = 0; int[][] matrix = new int[m][n]; for (int[] index : indices) { for (int i = 0; i < n; i++) { matrix[index[0]][i]++; } for (int i = 0; i < m; i++) { matrix[i][index[1]]++; } } for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { if ((matrix[i][j] & 1) != 0) { res++; } } } return res; } }

C#

public class Solution { public int OddCells(int m, int n, int[][] indices) { int res = 0; int[,] matrix = new int[m, n]; foreach (int[] index in indices) { for (int i = 0; i < n; i++) { matrix[index[0], i]++; } for (int i = 0; i < m; i++) { matrix[i, index[1]]++; } } for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { if ((matrix[i, j] & 1) != 0) { res++; } } } return res; } }

复杂度分析

时间复杂度:O(q×(m+n)+m×n) , 其中 q 表示数组 indices 的长度,m , n 为矩阵的行数与列数。遍历数组时,每次都需要更新矩阵中一行加一列,需要的时间为 O(q×(m+n)) ,最后还需要遍历矩阵,需要的时间为 O(m×n) ,总的时间复杂度为 O(q×(m+n)+m×n) 。

空间复杂度:O(m×n) ,其中 m , n 为矩阵的行数与列数。需要存储矩阵的所有元素。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/8 19:37:01

洛雪音乐音源终极指南:5个简单步骤免费获取全网无损音乐

洛雪音乐音源终极指南&#xff1a;5个简单步骤免费获取全网无损音乐 【免费下载链接】lxmusic- lxmusic(洛雪音乐)全网最新最全音源 项目地址: https://gitcode.com/gh_mirrors/lx/lxmusic- 洛雪音乐音源管理是开源音乐播放器开发中的核心技术&#xff0c;通过智能聚合多…

作者头像 李华
网站建设 2026/6/8 19:36:56

PHP函数参数与返回值类型

PHP函数参数与返回值类型PHP从7开始逐步完善了类型系统。函数参数和返回值可以声明类型。今天说说各种类型声明的用法。基本类型声明。phpdeclare(strict_types1);function process(int $id, string $name, float $price, bool $active): array { return compact(id, name, pri…

作者头像 李华
网站建设 2026/6/8 19:36:13

【MATLAB】工业多电机同步控制仿真与实现

【MATLAB】工业多电机同步控制仿真与实现 摘要:在传送带、数控机床、印刷纺织、机器人联动等工业场景中,多电机同步运行精度直接决定设备加工精度与生产线运行稳定性。单电机独立控制模式易受负载扰动、参数差异、机械摩擦影响,出现转速偏差、相位偏移、不同步抖动等问题,…

作者头像 李华