Leetcode答题 --- 奇数值单元格的数目

题目

给你一个 n 行 m 列的矩阵,最开始的时候,每个单元格中的值都是 0。

另有一个索引数组 indices,indices[i] = [ri, ci] 中的 ri 和 ci 分别表示指定的行和列(从 0 开始编号)。

你需要将每对 [ri, ci] 指定的行和列上的所有单元格的值加 1。

请你在执行完所有 indices 指定的增量操作后,返回矩阵中 「奇数值单元格」 的数目。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/cells-with-odd-values-in-a-matrix

示例

输入:n = 2, m = 3, indices = [[0,1],[1,1]]
输出:6
解释:最开始的矩阵是 [[0,0,0],[0,0,0]]。
第一次增量操作后得到 [[1,2,1],[0,1,0]]。
最后的矩阵是 [[1,3,1],[1,3,1]],里面有 6 个奇数。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/cells-with-odd-values-in-a-matrix

思路

根据n,m创建二维数组,遍历indices数组来对创建的二维数组赋值,最后再遍历最终得到的数组来获取奇数的个数

实现

var oddCells = function(n, m, indices) {
    let arr = []
    let oddCount = 0
    for (let i = 0; i < n; i++) {
        let curArr = new Array(m).fill(0)
        arr.push(curArr)
    }
    for (let j = 0; j < indices.length; j++) {
        arr[indices[j][0]] = arr[indices[j][0]].map(item => item + 1)
        for (let k = 0; k < arr.length; k++) {
            arr[k][indices[j][1]] += 1
        }
    }
    arr.forEach(item => {
        oddCount += item.filter(t => {
            return t % 2
        }).length
    })
    return oddCount
};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值