力扣2503.矩阵查询可获得的最大分数

news/2024/9/18 14:06:31/ 标签: leetcode, 矩阵, 算法

力扣2503.矩阵查询可获得的最大分数

  • 离线算法 + 排序 + 小根堆

    • 将query数组从小到大排序,用小根堆存每个单元格的值
    • 从小到大遍历query,如果堆顶元素小于query[i],弹出,直到全部弹出,总弹出个数为答案
  •   class Solution {int dx[4] = {0,1,0,-1},dy[4] = {1,0,-1,0};public:vector<int> maxPoints(vector<vector<int>>& grid, vector<int>& queries) {int k = queries.size(),id[k];iota(id,id+k,0);sort(id,id+k,[&](int i,int j){return queries[i] < queries[j];});vector<int> ans(k);priority_queue<tuple<int, int, int>, vector<tuple<int, int, int>>, greater<>> pq;pq.emplace(grid[0][0],0,0);grid[0][0] = 0;int m = grid.size(),n = grid[0].size(),cnt=0;for(int qi:id){//堆顶元素更小int q = queries[qi]; 	//tuple的语法,get<0>(tuple) 返回tuple的第一个元素的引用while(!pq.empty() && get<0>(pq.top()) < q){cnt ++;auto[_,tx,ty] = pq.top();pq.pop();for(int i=0;i<4;i++){int x = tx + dx[i],y = ty + dy[i];if (0 <= x && x < m && 0 <= y && y < n && grid[x][y]) {pq.emplace(grid[x][y],x,y);grid[x][y] = 0;}}}ans[qi] = cnt;}return ans;}};
    

http://www.ppmy.cn/news/1520541.html

相关文章

Vue3项目开发——新闻发布管理系统(五)

文章目录 七、登录&注册页面设计开发4、后端接口调用4.1 AXIOS请求工具封装4.2 创建 axios 实例①安装 axios② 封装 axios 模块4.3完成 axios 基本配置5 实现 注册功能5.1 创建接口调用js文件5.2 页面中调用注册方法6 实现 登录功能6.1 创建接口调用js文件6.2 页面中调用登…

【STM32开发】GPIO最全解析及应用实例

目录 【1】GPIO概述 GPIO的基本概念 GPIO的应用 【2】GPIO功能描述 1.IO功能框图 2.知识补充 3.功能详述 浮空输入 上拉输入 下拉输入 模拟输入 推挽输出 开漏输出 复用开漏输出和复用推挽输出 【3】GPIO常用寄存器 相关寄存器介绍 4个32位配置寄存器 2个32位数据寄存器 1个32位…

能大致讲一下Chat GPT的原理吗?

AI视频生成&#xff1a;小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频百万播放量https://aitools.jurilu.com/ 话题群精选了三位网友的回答&#xff0c;从不同的角度阐释了Chat GPT的原理。 第一位网友的回答&#xff1a; 不给你扯长篇大论&#…

Gateway的基本概念

1.Gateway概念介绍 1.1Gateway介绍 Gateway网络为微服务架构提供简单且统一的API路由管理&#xff0c;作为系统的统一入口。 Gateway可以为客户端提供统一的服务&#xff0c;例如认证、路由转发、防刷、流量控制、监控日志等。 Gateway是无状态的&#xff0c;不存放数据&…

spring boot 项目 跟 JavaScript 简单 websocket 使用

文章目录 websocket 简绍WebSocket 的优势包括&#xff1a;JavaScript 设置处理事件 Java 服务端设置导jar包创建WebSocket端点EnableWebSocketregisterWebSocketHandlers 实现WebSocket处理器afterConnectionEstablishedafterConnectionClosedhandleTextMessage 注销WebSocket…

C# 使用微软OFFICE库操作excel

C# 使用微软OFFICE库操作excel写入数据 using System; using Excel Microsoft.Office.Interop.Excel;namespace ExcelExample {class Program{static void Main(string[] args){// 创建Excel应用程序实例Excel.Application excelApp new Excel.Application();// 让Excel应用…

Python 读写 Excel 文件:创建、遍历、更新与样式处理

Excel 是广泛使用的电子表格软件&#xff0c;用于数据存储、分析和可视化。Python 通过第三方库如 openpyxl 和 pandas 提供了丰富的功能来读写 Excel 文件。本文将详细介绍如何使用 Python 进行 Excel 文件的创建、遍历、更新、删除以及样式处理等操作。 1. 安装必要的库 首…

【计算机网络】socket编程 --- 实现简易TCP网络程序

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前正在学习c和算法 ✈️专栏&#xff1a;Linux &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章有啥瑕疵&#xff0c;希望大佬指点一二 如果文章对…

【Pytorch实用教程】tqdm的作用:在循环中显示进度条

tqdm 是一个 Python 库,用于在循环中显示进度条。它能够为任何可迭代对象(例如列表、生成器、数据加载器等)添加一个可视化的进度条,使用户可以实时查看程序的执行进度。 在数据科学和机器学习领域,tqdm 经常用于显示训练和验证过程中的进度。例如,在训练神经网络时,由…

编译 ffmpeg 以支持AVS格式视频解码与解码

前言 当前文章介绍如何在Linux下使用FFmpeg转码其他视频格式到AVS格式的指南&#xff0c;包括编译FFmpeg以支持XAVS编码和如何使用FFmpeg进行转码。 AVS (Audio Video Coding Standard) 格式是一种由中国主导制定的视频编码标准&#xff0c;全称为“中国数字音视频编解码技术…

装饰器模式及应用【理论+代码】

装饰器模式&#xff08;Decorator Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其结构。这种设计模式通过创建一个包装对象&#xff0c;即装饰器&#xff0c;来封装实际对象。 装饰器模式的主要组成&#…

图像处理之透视变换

透视变换 什么是透视变换透视变换有什么用 什么是透视变换 透视变换&#xff08;把斜的图变正&#xff0c;也就是一种坐标系到另外一种坐标系&#xff09;是一种图像处理技术&#xff0c;它利用透视中心、像点、目标点三点共线的条件&#xff0c;按透视旋转定律使承影面&#…

python读取excel数据

在处理Excel数据时&#xff0c;Python 提供了多种强大的库来读取、处理以及分析这些数据。最常用的库之一是 pandas&#xff0c;它建立在 numpy、matplotlib 和 scipy 等库之上&#xff0c;为数据分析和操作提供了高级的、易于使用的数据结构和数据分析工具。另一个流行的库是 …

Java设计模式—策略模式(Strategy)

模式动机 完成一项任务&#xff0c;往往可以有多种不同的方式&#xff0c;每一种方式称为一个策略&#xff0c;我们可以根据环境或者条件的不同选择不同的策略来完成该项任务。在软件开发中也常常遇到类似的情况&#xff0c;实现某一个功能有多个途径&#xff0c;此时可以使用…

【运维监控】prometheus+node exporter+grafana 监控linux机器运行情况(2)

本示例是通过prometheus的node exporter收集主机的信息&#xff0c;然后在grafana的dashborad进行展示。本示例使用到的组件均是最新的&#xff0c;下文中会有具体版本说明&#xff0c;linux环境是centos。本示例分为四个部分&#xff0c;即prometheus、grafana、node exporter…

【MySQL】如何优化 SQL UPDATE 语句以提升性能

如何优化 SQL UPDATE 语句以提升性能 在日常开发中&#xff0c;优化 SQL 查询是非常关键的一项任务&#xff0c;尤其是在处理大量数据时。本文将通过一个 UPDATE 语句的优化过程&#xff0c;探讨如何提升 SQL 性能。 示例场景 假设我们有以下两张表&#xff1a; 表 table_a…

打造一流的研发型企业--- 金发科技研发驱动力初探

2006年3月29日&#xff0c;国家发改委副主任欧新黔亲自为金发科技颁发了“中国改性塑料行业第一位”、“中国合成材料制造业十强”、“中国石油化工全行业百强”三块铜牌证书&#xff0c;金发科技终于成为名符其实的行业“老大”。公司产品销售额增长迅速&#xff0c; 2006年完…

开发基础软件安装地址(持续更新中)

开发基础软件安装地址&#xff08;持续更新中&#xff09; 如果需要新增下载工具可以在评论中留言 欢迎广大开发人员在评论区讨论关于环境安装遇到的问题 正文会持续更新。。。 java常用的jdk1.8版本安装包 链接&#xff1a;jdk-8u421-windows-x64.exe idea java常用的开发工具…

提交保存,要做重复请求拦截,避免出现重复保存的问题

**问题&#xff1a;**前端ajax提交数据的时候&#xff0c;当频繁点击的时候&#xff0c;或者两个账号以相同数据创建的时候&#xff0c;会出现问题。 **处理办法&#xff1a;**前端拦截&#xff0c;防止重复提交数据&#xff0c;在上一次请求返回结果之后才允许提交第二次&…

在 Debian 8 上安装 Nginx 的方法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 介绍 Nginx 是一个流行的 HTTP 服务器&#xff0c;是 Apache2 的一个替代品。它可以用作反向代理、邮件服务器或 Web 服务器。根据 Net…