当前位置: 首页 > news >正文

【2500. 删除每行中的最大值】

来源:力扣(LeetCode)

描述:

给你一个 m x n 大小的矩阵 grid ,由若干正整数组成。

执行下述操作,直到 grid 变为空矩阵:

  • 从每一行删除值最大的元素。如果存在多个这样的值,删除其中任何一个。
  • 将删除元素中的最大值与答案相加。

注意 每执行一次操作,矩阵中列的数据就会减 1 。

返回执行上述操作后的答案。

示例 1:

1

输入:grid = [[1,2,4],[3,3,1]]
输出:8
解释:上图展示在每一步中需要移除的值。
- 在第一步操作中,从第一行删除 4 ,从第二行删除 3(注意,有两个单元格中的值为 3 ,我们可以删除任一)。在答案上加 4- 在第二步操作中,从第一行删除 2 ,从第二行删除 3 。在答案上加 3- 在第三步操作中,从第一行删除 1 ,从第二行删除 1 。在答案上加 1 。
最终,答案 = 4 + 3 + 1 = 8

示例 2:

2

输入:grid = [[10]]
输出:10
解释:上图展示在每一步中需要移除的值。
- 在第一步操作中,从第一行删除 10 。在答案上加 10 。
最终,答案 = 10

提示:

  • m == grid.length
  • n == grid[i].length
  • 1 <= m, n <= 50
  • 1 <= grid[i][j] <= 100

方法:排序

思路与算法

我们将题目给出大小为 m×n 的矩阵 grid 每一行从小到大排序,那么题目等价于每次删除矩阵的末尾列,得分为该列的最大值。那么最后的答案就是每一列的最大值之和。

代码:

class Solution {
public:int deleteGreatestValue(vector<vector<int>>& grid) {int m = grid.size(), n = grid[0].size();for (int i = 0; i < m; i++) {sort(grid[i].begin(), grid[i].end());}int res = 0;for (int j = 0; j < n; j++) {int mx = 0;for (int i = 0; i < m; i++) {mx = max(mx, grid[i][j]);}res += mx;}return res;}
};

执行用时:8 ms, 在所有 C++ 提交中击败了98.87%的用户
内存消耗:9.1 MB, 在所有 C++ 提交中击败了91.35%的用户
复杂度分析
时间复杂度:O(m×n×logn),其中 m,n 分别为矩阵 grid 的行列数,对矩阵 grid 的每一行排序的时间复杂度为 n×logn,共有 m 行,所以总的时间复杂度为 O(m×n×logn)。
空间复杂度:O(logn),排序需要的栈开销。
author:LeetCode-Solution

http://www.lryc.cn/news/96545.html

相关文章:

  • Superset部署
  • Python3 学习笔记 ~ 怎样打印字符串
  • postgresql安装
  • ElasticSearch之IK分词器安装以及使用介绍
  • Linux系统安装部署Jenkins详细教程(图文讲解)
  • 基于ChatGPT聊天的零样本信息提取7.25
  • Pytorch个人学习记录总结 08
  • Ansible自动化运维学习——综合练习
  • Java中正则表达式
  • 13 硬链接和软链接
  • 智能合约安全审计
  • 矩阵置零(力扣)思维 JAVA
  • centos制作openssh 9.3p2 rpm包
  • uni-app:切换页面刷新,返回上一页刷新(onShow钩子函数的使用)
  • 全志F1C200S嵌入式驱动开发(调整cpu频率和dram频率)
  • idea 设置了 vm options后无法启动
  • TPS54620RHLR是一款同步降压转换器
  • 主机漏洞利用演示MS17-010(永恒之蓝)
  • 2023年第六届河北省研究生数学建模竞赛题目B题Python求解代码
  • 【三维点云处理】顶点、面片、邻接矩阵、邻接距离矩阵以及稀疏存储概念
  • ansible 中的fetch模块的作用是什么
  • Zabbix-6.4.4部署及监控配置
  • 解决 npm ERR! missing script: build 错误的方法
  • json-server创建静态服务器2
  • 开源视频监控管理平台国标GB28181视频EasyCVR电子地图功能展示优化
  • 端口复用与重映射
  • ros2 launch 集合 gazebo yolov8 rviz2
  • SD NAND【商业】
  • 实现任意进制(2—32)转换
  • Spring Boot 集成 Redis 三种模式实践汇总