598. 范围求和 II(javascript)598. Range Addition II

该问题涉及矩阵操作和数学计算。给定一个初始全为0的mxn矩阵和一系列操作,每个操作会增加指定范围内所有元素的值。任务是找出执行所有操作后矩阵中的最大整数及其出现次数。解题策略是找到所有操作的最小影响范围,并计算该范围内的单元格总数。例如,对于给定的操作,可以找到最小的ai和bi,矩阵内最大整数的个数将是minX * minY,其中minX和minY分别是所有操作中最小的ai和bi。
摘要由CSDN通过智能技术生成

给你一个 m x n 的矩阵 M ,初始化时所有的 0 和一个操作数组 op ,其中 ops[i] = [ai, bi] 意味着当所有的 0 <= x < ai 和 0 <= y < bi 时, M[x][y] 应该加 1。

在 执行完所有操作后 ,计算并返回 矩阵中最大整数的个数 。

You are given an m x n matrix M initialized with all 0’s and an array of operations ops, where ops[i] = [ai, bi] means M[x][y] should be incremented by one for all 0 <= x < ai and 0 <= y < bi.

Count and return the number of maximum integers in the matrix after performing all the operations.

示例 1:

请添加图片描述

输入: m = 3, n = 3,ops = [[2,2],[3,3]]
输出: 4
解释: M 中最大的整数是 2, 而且 M 中有4个值为2的元素。因此返回 4。

示例 2:

输入: m = 3, n = 3, ops = [[2,2],[3,3],[3,3],[3,3],[2,2],[3,3],[3,3],[3,3],[2,2],[3,3],[3,3],[3,3]]
输出: 4

示例 3:

输入: m = 3, n = 3, ops = []
输出: 9

提示:

1 <= m, n <= 4 * 104
0 <= ops.length <= 104
ops[i].length == 2
1 <= ai <= m
1 <= bi <= n

解题思路,寻找ops数组里面ops[i][0]的最小值,ops[i][1]的最小值
初始化x为m,y为n ,x*y为获取的最大值

/**
 * @param {number} m
 * @param {number} n
 * @param {number[][]} ops
 * @return {number}
 */
var maxCount = function (m, n, ops) {
    let minX = m, minY = n;
    for (let i = 0; i < ops.length; i++) {
        minX = Math.min(ops[i][0], minX)
        minY = Math.min(ops[i][1], minY)
    }
    return minX * minY
};
var maxCount = function(m, n, ops) {
    let minX = m , minY = n;
    for (const op of ops) {
        minX = Math.min(minX, op[0]);
        minY = Math.min(minY, op[1]);
    }
    return minX * minY;
};

leetcode:https://leetcode.cn/problems/range-addition-ii/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值