LeetCode面向运气之Javascript—第2500题-删除每行中的最大值-93.51%

news2024/9/26 5:17:26

LeetCode第2500题-删除每行中的最大值

题目要求

一个 m x n 大小的矩阵 grid ,由若干正整数组成。
执行下述操作,直到 grid 变为空矩阵:

从每一行删除值最大的元素。如果存在多个这样的值,删除其中任何一个。
将删除元素中的最大值与答案相加。
每执行一次操作,矩阵中列的数据就会减 1 。

举例

在这里插入图片描述

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

思路

  1. 循环这个grid,使得每一行的数据有序排列
  2. 再次循环,这次对每一列的值进行降序排列,取第一个值(每一列最大的)
  3. 看了题解,可以使用Math取最大的值

代码实现

/**
 * @param {number[][]} grid
 * @return {number}
 */
var deleteGreatestValue = function (grid) {
    // const newGrid = []
    // let sum = 0
    // grid.forEach((data, index) => {
    //     newGrid[index] = data.sort((a, b) => a - b)
    // })
    // newGrid[0].forEach((data, index) => {
    //     sum += newGrid.map(g => (g[index])).sort((a, b) => b - a)[0]
    // })

    for (let i = 0; i < grid.length; i++) {
        grid[i].sort((a, b) => a - b)
    }

    let sum = 0;
    for (let j = 0; j < grid[0].length; j++) {
        let mx = 0;
        for (let i = 0; i < grid.length; i++) {
            mx = Math.max(mx, grid[i][j]);
        }
        sum += mx;
    }

    return sum

};

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/832753.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

地址空间细致入微+深入了解页表

目录 地址空间保存了什么&#xff1f; 页表到底是怎么存储的 我们都知道&#xff0c;我们进程看到的空间其实是虚拟内存&#xff0c;真正的内存是需要页表的映射才能找到真正的物理内存&#xff0c;那么我我们有两个问题的引出那么进程地址空间是保存了什么呢&#xff1f;页表…

Android 获取网络连接状态新方法

一. 问题背景 Android12上&#xff0c;有的app模块判断当前网络的类型和连接状态时&#xff0c;还是使用的旧的API&#xff0c;导致返回的结果不准确&#xff0c;影响代码逻辑判断&#xff0c;本篇文章就这一问题&#xff0c;整理一下判断网络类型和连接状态的新方法。 二. 原因…

Dockerfile面试题(CMD、ENTRYPOINT与RUN命令对比)

目录 Dockerfile面试题 CMD、ENTRYPOINT与RUN命令对比 &#xff08;一&#xff09;CMD命令 &#xff08;二&#xff09;RUN命令 &#xff08;三&#xff09;ENTRYPOINT &#xff08;四&#xff09;RUN和CMD、ENTRYPOINT支持参数形式命令 &#xff1a; Dockerfile面试题 …

新一代的自动化测试利器?puppeteer生态一览

puppeteer是chrome官方出品的无界面浏览器&#xff0c;我们一般称为无头浏览器。 这种浏览器具有普通版浏览器的完备功能&#xff0c;并且可以运行在无界面的服务端&#xff0c;比如远程的linux服务器上&#xff0c;是做ui自动化测试的一个不错的选择。 我们今天就来看一下pu…

智慧林业~经典开源项目数字孪生智慧林业——开源工程及源码

东北林业局的工程和源码免费赠送&#xff0c;帮您实现深林防火的智慧林业。 项目介绍 东北林业局作为东北地区林业管理的重要机构&#xff0c;致力于森林资源保护和防火工作。他们的项目通过先进的技术手段&#xff0c;为林业管理提供可靠的解决方案。 本项目使用数字孪生技术&…

2.3 网络安全协议

数据参考&#xff1a;CISP官方 目录 OSI七层模型TCP/IP体系架构TCP/IP安全架构 一、OSI七层模型 简介 开放系统互连模型&#xff08;Open System Interconnection Reference Model&#xff0c;OSI&#xff09;是国际标准化组织&#xff08;ISO&#xff09;于1977年发布的…

自动化测试po模式是什么

一、什么是PO模式 全称&#xff1a;page object model 简称&#xff1a;POM/PO PO模式最核心的思想是分层&#xff0c;实现松耦合&#xff01;实现脚本重复使用&#xff0c;实现脚本易维护性&#xff01; 主要分三层&#xff1a; 1.基础层BasePage&#xff1a;封装一些最基…

Obsidian之与Typora图片格式相互兼容

Typora设置 因为复制到Typora的图片格式默认是markdown的标准格式&#xff0c;所以主要需要设置“优先使用相对路径”即可。使用相对路径而非绝对路径&#xff0c;能确保将md目录拷贝到其他电脑时&#xff0c;图片能够正常显示。 obsidian设置 在“文件与链接”更改这三处设…

122.买卖股票的最佳时机2

一、题目 122. 买卖股票的最佳时机 II - 力扣&#xff08;LeetCode&#xff09; 二、代码 class Solution { public:int maxProfit(vector<int>& prices) {int n prices.size();vector<vector<int>>dp(n,vector<int>(2,0));//0表示第i天不持有股…

提升维修服务体验:探索上门维修小程序开发的优势

随着社会的发展和科技的进步&#xff0c;上门维修小程序的开发为人们提供了更加便捷和高效的维修服务体验。本文将介绍上门维修小程序开发的优势&#xff0c;以帮助人们更好地了解和利用这一便利工具。   1. 快速预约和响应   上门维修小程序允许用户快速预约维修服务&…

一文带你了解TCP/IP模型以及封装和分用

文章目录 1. 网络协议2. OSI七层网络模型3.TCP/IP (五层/四层)4. 封装和分用 1. 网络协议 网络协议是计算机网络中用于规定数据在网络中传输和处理的规则&#xff0c;它定义了在网络中通信的格式、规范和顺序。网络协议可以分为不同的层次&#xff0c;每个层次负责不同的功能和…

常用正则表达式总结(一)

文章目录 前言 一、元字符----字符集 1、[ns] 只匹配n或s。注意&#xff1a;这里[ ]里面的字符与字符之间是或的关系。 2、[a-z]只匹配abcd....xyz&#xff0c;的小写字母。注意&#xff1a;这里的“-”字符是叫做&#xff1a;连字符。是一种简写。只是在括号里生效。 3、[A…

C++运算符重载详解(赋值、流插入流提取、前置后置++、取地址)

C运算符重载详解 基本介绍运算符重载案列1. 赋值运算符重载2. 前置和后置重载3. cout&#xff0c;cin(流插入&#xff0c;流提取重载)4. 取地址重载 基本介绍 C为了增强代码的可读性引入了运算符重载&#xff0c;运算符重载是具有特殊函数名的函数&#xff0c;也具有其 返回值…

Java超级玛丽小游戏制作过程讲解 第一天 创建窗口

package com.sxt;import javax.swing.*; import java.awt.event.KeyEvent; import java.awt.event.KeyListener;public class MyFrame extends JFrame implements KeyListener {//设置窗口的大小为800*600public MyFrame() {this.setSize(800, 600);//设置窗口中显示this.setLo…

MySQL日志——查询日志

1.查询日志 show variables like %general%;修改mysql的配置文件 /etc/my.cnf文件&#xff0c;添加如下内容&#xff1a; #该选项用来开启查询日志&#xff0c;可选值&#xff1a;0或者1&#xff1b;0代表关闭&#xff0c;1代表开启 general_log1 #设置日志的文件名&#xff0…

数组中的第K个最大元 O(N)

给定整数数组 nums 和整数 k&#xff0c;请返回数组中第 k 个最大的元素。 请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#xff0c;而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入: [3,2,1,5,6,4], k 2…

c语言实现八大排序详细解析

首先先看排序算法的整体分类 排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。 稳定性&#xff1a;假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记录&#xff…

上海市第十人民医院胃肠外科沈通一:以菌为药,非药而愈

6月29日&#xff0c;2023主动健康与临床营养高峰论坛在西安国际会展中心盛大召开&#xff0c;会议汇集了来自国内医学与营养领域杰出的专家学者&#xff0c;交流分享行业的先进理念和研究成果&#xff0c;为主动营养业界与学界能量交换搭建了新接口&#xff0c;以凝聚学术力量&…

嘉立创EDA画爱心

需要用&#xff1a;折线(L)&#xff0c;两点圆弧&#xff0c;三点圆弧(A)&#xff0c;园形(U)等功能 如下就是画出的图形 2D 3D 去除丝印pcb 2d 3d

RocketMQ安装和简单使用

说明&#xff1a;RocketMQ与RabbitMQ一样&#xff0c;是分布式架构中的一个组件&#xff0c;用来解决微服务之间的异步调用。同类的还有两个&#xff0c;各自的特点如下&#xff1a; Rocket结构 服务启动时 发送消息时 其中各个部分的功能如下&#xff1a; &#xff08;1&…