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

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

相关推荐
lueluelue475 小时前
LeetCode:链表
算法·leetcode·链表
橘子汽水1688 小时前
Leetcode 23,543合并K个升序链表,二叉树的直径
算法·leetcode·链表
huameinan狮子8 小时前
Adaboost算法原理与计算实例
算法
别怪我很水8 小时前
API中提供了VelocityTracker类用于计算触摸事件MotionEvent的速度,而其内部默认使用的方法就是最小二乘法,本 ...
算法·gitee·最小二乘法
都叫我大帅哥8 小时前
Java JJWT 完全指南:从入门到生产级实践
java
前端开发张小七10 小时前
Java 学习笔记 · 第一课:基础语法与核心概念
java·后端
ThsPool10 小时前
【ENVI二次开发学习整理 04】ENVI功能扩展与二次开发
java·前端·javascript
赤壁小虾11 小时前
【渲染流水线】[逐片元阶段]-[透明度测试]以UnityURP为例
java·前端·数据库
Re.不晚11 小时前
挑战做100道力扣算法- DAY1
算法·leetcode·职场和发展