3033. 修改矩阵

简介: 3033. 修改矩阵

说在前面

🎈不知道大家对于算法的学习是一个怎样的心态呢?为了面试还是因为兴趣?不管是出于什么原因,算法学习需要持续保持。

题目描述

给你一个下标从 0 开始、大小为 m x n 的整数矩阵 matrix ,新建一个下标从 0 开始、名为 answer 的矩阵。使 answermatrix 相等,接着将其中每个值为 -1 的元素替换为所在列的 最大 元素。

返回矩阵 answer

示例 1:

输入: matrix = [[1,2,-1],[4,-1,6],[7,8,9]]
输出: [[1,2,9],[4,8,6],[7,8,9]]
解释: 上图显示了发生替换的元素(蓝色区域)。
- 将单元格 [1][1] 中的值替换为列 1 中的最大值 8 。
- 将单元格 [0][2] 中的值替换为列 2 中的最大值 9 。

示例 2:

输入: matrix = [[3,-1],[5,2]]
输出: [[3,2],[5,2]]
解释: 上图显示了发生替换的元素(蓝色区域)。

提示:

  • m == matrix.length
  • n == matrix[i].length
  • 2 <= m, n <= 50
  • -1 <= matrix[i][j] <= 100
  • 测试用例中生成的输入满足每列至少包含一个非负整数。

解题思路

使用一个数组来保存每一列的最大值,遍历矩阵,获取到每一列的最大值,获取到最大值之后再遍历一次矩阵,将矩阵中值为-1的元素全部替换为其所在列的最大值。

AC代码

/**
 * @param {number[][]} matrix
 * @return {number[][]}
 */
var modifiedMatrix = function (matrix) {
  const arr = new Array(matrix[0].length).fill(0);
  for (let i = 0; i < matrix.length; i++) {
    for (let j = 0; j < matrix[i].length; j++) {
      arr[j] = Math.max(arr[j], matrix[i][j]);
    }
  }
  for (let i = 0; i < matrix.length; i++) {
    for (let j = 0; j < matrix[i].length; j++) {
      if (matrix[i][j] === -1) matrix[i][j] = arr[j];
    }
  }
  return matrix;
};

公众号

关注公众号『前端也能这么有趣』,获取更多有趣内容。

说在后面

🎉 这里是 JYeontu,现在是一名前端工程师,有空会刷刷算法题,平时喜欢打羽毛球 🏸 ,平时也喜欢写些东西,既为自己记录 📋,也希望可以对大家有那么一丢丢的帮助,写的不好望多多谅解 🙇,写错的地方望指出,定会认真改进 😊,偶尔也会在自己的公众号『前端也能这么有趣』发一些比较有趣的文章,有兴趣的也可以关注下。在此谢谢大家的支持,我们下文再见 🙌。

目录
相关文章
|
2月前
|
索引
转置矩阵-暴力解法&一行代码
转置矩阵-暴力解法&一行代码
17 0
|
2月前
|
机器学习/深度学习 存储 人工智能
利用前缀和计算二维矩阵子矩阵的和
利用前缀和计算二维矩阵子矩阵的和
36 0
|
C++ 计算机视觉 索引
【C++】删除矩阵中的指定列(非常实用)
【C++】删除矩阵中的指定列(非常实用)
|
存储 算法 Python
求简单类型的矩阵和
求简单类型的矩阵和
58 0
|
资源调度 PyTorch 算法框架/工具
pytorch 如何生成指定位置、尺度参数的随机高斯矩阵,并指定这个随机矩阵的形式
在上述代码中,我们使用 torch.normal(mean=mu, std=sigma, size=(m, n)) 函数直接生成了一个形状为 (m, n) 的随机高斯矩阵 data,其中 mean 参数指定了均值,std 参数指定了标准差。 需要注意的是,与 torch.randn() 不同,torch.normal() 生成的是具有指定均值和标准差的高斯分布,因此生成的随机矩阵不一定是标准正态分布。如果需要生成标准正态分布随机矩阵,可以将 mean 参数设置为 0,std 参数设置为 1。
996 1
判断上三角矩阵
判断上三角矩阵 (15 分)
101 0
(二维前缀和模板)796. 子矩阵的和
(二维前缀和模板)796. 子矩阵的和
52 0
|
Python
Python经典编程习题100例:第44例:两个 3 行 3 列的矩阵,实现其对应位置的数据相加,并返回一个新矩阵
Python经典编程习题100例:第44例:两个 3 行 3 列的矩阵,实现其对应位置的数据相加,并返回一个新矩阵
269 0
|
算法
LeetCode 73矩阵置零&74搜素二维矩阵&75颜色分类
给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。
107 0
LeetCode 73矩阵置零&74搜素二维矩阵&75颜色分类

热门文章

最新文章