3033.力扣每日一题7/5 Java

  • 博客主页:音符犹如代码
  • 系列专栏:算法练习
  • 关注博主,后期持续更新系列文章
  • 如果有错误感谢请大家批评指出,及时修改
  • 感谢大家点赞👍收藏⭐评论✍

目录

思路

解题方法

时间复杂度

空间复杂度

Code


思路

首先创建一个与输入矩阵相同大小的新矩阵 answer 来存储最终结果。
然后遍历输入矩阵的每个元素。
对于值为 -1 的元素,通过内层循环找到其所在列的最大值,并将该最大值赋给新矩阵对应位置。

解题方法

使用两个嵌套的循环遍历矩阵的每个元素。对于值为 -1 的元素,再使用一个内层循环找到其所在列的最大值。

时间复杂度

O(m²*n)

空间复杂度

𝑂(𝑚∗𝑛)

Code

java 复制代码
class Solution {
    public int[][] modifiedMatrix(int[][] matrix) {
        int m = matrix.length;
        int n = matrix[0].length;

        int[][] answer = new int[m][n];

        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                answer[i][j] = matrix[i][j];
                if (matrix[i][j] == -1) {
                    int max = Integer.MIN_VALUE;
                    for (int k = 0; k < m; k++) {
                        max = Math.max(max, matrix[k][j]);
                    }
                    answer[i][j] = max;
                }
            }
        }

        return answer;
    }
}

我的成就,当归功于精微的思索。------牛顿

相关推荐
keep intensify4 分钟前
打家劫舍3
算法·深度优先
吾日三省Java4 分钟前
SpringBoot锁设计:让你的系统不再“抢”出问题!
java·spring boot·设计思路
历程里程碑7 分钟前
Protobuf 环境搭建:Windows 与 Linux 系统安装教程
linux·运维·数据结构·windows·线性代数·算法·矩阵
keep intensify7 分钟前
岛屿数量--
算法·深度优先
XXOOXRT10 分钟前
Ubuntu搭建Java项目运行环境(JDK17+MySQL8.0)超详细教程
java·linux·mysql·ubuntu
m0_7190841111 分钟前
启动命令111
java
客卿12323 分钟前
用两个栈实现队列
android·java·开发语言
代码探秘者36 分钟前
【算法】吃透18种Java 算法快速读写模板
数据结构·数据库·python·算法·spring
java1234_小锋36 分钟前
Java高频面试题:谈谈你对SpringBoot的理解?
java·开发语言·spring boot
2301_8166512236 分钟前
C++模块化设计原则
开发语言·c++·算法