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;
    }
}

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

相关推荐
波波侠8几秒前
代码随想录算法训练营打卡第31天|56. 合并区间、738.单调递增的数字
算法
Snow_day.1 分钟前
有关线段树应用(1)
数据结构·算法·贪心算法·动态规划·图论
invicinble6 分钟前
学习的门道和思路
java·开发语言·学习
m0_561359679 分钟前
C++模块接口设计
开发语言·c++·算法
难得的我们38 分钟前
单元测试在C++项目中的实践
开发语言·c++·算法
weixin1997010801638 分钟前
加盟网 item_search - 根据关键词获取行业列表接口对接全攻略:从入门到精通
java·python
EliseL38 分钟前
SuperMap iObjects Java 如何将3DTiles数据转换为S3M三维瓦片
java·3d·三维
Once_day39 分钟前
代码训练总结(1)算法和数据结构的框架思维
数据结构·算法
cyforkk39 分钟前
11、Java 基础硬核复习:常用类和基础API的核心逻辑与面试考点
java·python·面试
全栈师41 分钟前
java和C#的基本语法区别
java·开发语言·c#