leetcode1337. 方阵中战斗力最弱的 K 行(优先队列)

给你一个大小为 m * n 的方阵 mat,方阵由若干军人和平民组成,分别用 1 和 0 表示。

请你返回方阵中战斗力最弱的 k 行的索引,按从最弱到最强排序。

如果第 i 行的军人数量少于第 j 行,或者两行军人数量相同但 i 小于 j,那么我们认为第 i 行的战斗力比第 j 行弱。

军人 总是 排在一行中的靠前位置,也就是说 1 总是出现在 0 之前。

示例 1:

输入:mat =
[[1,1,0,0,0],
[1,1,1,1,0],
[1,0,0,0,0],
[1,1,0,0,0],
[1,1,1,1,1]],
k = 3
输出:[2,0,3]
解释:
每行中的军人数目:
行 0 -> 2
行 1 -> 4
行 2 -> 1
行 3 -> 2
行 4 -> 5
从最弱到最强对这些行排序后得到 [2,0,3,1,4]

代码

class Solution {public int[] kWeakestRows(int[][] mat, int k) {int i=0;PriorityQueue<int[]> priorityQueue=new PriorityQueue<>((o1, o2) -> o1[0]==o2[0]?o1[1]-o2[1]:o1[0]-o2[0]);//排序规则for(int[] c:mat){int ans=0;for(int d:c) if(d==0) break;  else ans++;//统计士兵个数priorityQueue.offer(new int[]{ans,i});i++;}int[] res=new int[k];for(int j=0;j<k;j++) res[j]=priorityQueue.poll()[1];//选出战力最低的前n名return res;}
}

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

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

相关文章

dp 1.4协议_浅析关于HDMI接口与DP接口

显示器现在主流已经为HDMI接口与DP接口&#xff0c;那么这些接口都有什么区别&#xff0c;以下表格会大致做个区分&#xff0c;建议优先使用DP接口。&#xff08;HDMI2.1接口目前仅发布协议&#xff0c;尚未大规模商用在高清电视机上有部分应用&#xff0c;Mini DP接口版本为DP…

浅谈 JDBC 中 CreateStatement 和 PrepareStatement 的区别与优劣。

浅谈 JDBC 中 CreateStatement 和 PrepareStatement 的区别与优劣。

jsp 构建单页应用_如何使用服务器端Blazor构建单页应用程序

jsp 构建单页应用介绍 (Introduction) In this article, we will create a Single Page Application (SPA) using server-side Blazor. We will use an Entity Framework Core database. Single-Page Applications are web applications that load a single HTML page. They dy…

Apache的虚拟主机配置

虚拟主机配置一般可以分为&#xff1a;基于域名基于端口基于IP配置虚拟主机检查防火墙&#xff0c;端口是否打开apache的配置文件。service iptables status #查看防火墙netstat -anp | grep 8021 #端口是必须要考虑的问题locate httpd.confmkdir -p /usr/local/apache/conf/ex…

oracle 的使用

一. docker 模式下进入数据库 ubuntujiang:~$ sudo docker ps -a sudo: unable to resolve host jiang CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS …

sql number转varchar_MySQL 指南之 SQL 语句基础

个人所有文章整理在此篇&#xff0c;将陆续更新收录:知无涯&#xff0c;行者之路莫言终(我的编程之路)零、结构化查询语言&#xff1a;SQL(Structured Query Language)DDL 数据定义语言 管理库&#xff0c;表DML 数据操作语言 增删改查 DCL 数据控制语言 数据控制&#xff0c;权…

leetcode744. 寻找比目标字母大的最小字母(二分查找)

给你一个排序后的字符列表 letters &#xff0c;列表中只包含小写英文字母。另给出一个目标字母 target&#xff0c;请你寻找在这一有序列表里比目标字母大的最小字母。 在比较时&#xff0c;字母是依序循环出现的。举个例子&#xff1a; 如果目标字母 target ‘z’ 并且字符…

H3C交换机 汇聚接口上应用策略路由

QOS 方式的策略路由只能应用在接口或者Vlan接口上&#xff0c;无法应用在2层或者3层的汇聚接口上可以使用PBR的方式将策略路由应用到接口上&#xff0c;QOS策略路由可以和PBR策略路由共存&#xff0c;并且QOS的优先级更高&#xff0c;先匹配QOS&#xff0c;如果匹配不到再匹配P…

【Java NIO深入研究3】文件锁

1.1概述——文件锁 文件锁定初看起来可能让人迷惑。它 似乎 指的是防止程序或者用户访问特定文件。事实上&#xff0c;文件锁就像常规的 Java 对象锁 — 它们是 劝告式的&#xff08;advisory&#xff09; 锁。它们不阻止任何形式的数据访问&#xff0c;相反&#xff0c;它们通…

2018-2019-2 网络对抗技术 20165202 Exp9 Web安全基础

博客目录 一、实践内容 跨站脚本攻击XSS跨站请求伪造CSRFSQL注入攻击二、实验中遇到的问题及解决三、基础问题回答四、实验总结一、实践内容 本实践的目标理解常用网络攻击技术的基本原理。Webgoat实践下相关实验。具体过程&#xff1a; 跨站脚本攻击XSS跨站请求伪造CSRFSQL注入…

leetcode696. 计数二进制子串

给定一个字符串 s&#xff0c;计算具有相同数量0和1的非空(连续)子字符串的数量&#xff0c;并且这些子字符串中的所有0和所有1都是组合在一起的。 重复出现的子串要计算它们出现的次数。 示例 1 : 输入: “00110011” 输出: 6 解释: 有6个子串具有相同数量的连续1和0&#…

idea无法忍受_不要成为无法忍受的软件开发人员

idea无法忍受by Bruce Flow通过布鲁斯流 不要成为无法忍受的软件开发人员 (Don’t be the software developer you can’t stand working with) I have more than 10 years of industry experience as a software developer. I am working at one of the largest tech compani…

项目需求分析答辩总结

前言 组长成员★530 雨勤311 旭403 俊223 元437 海辉你一定也不想做的 本次作业没什么可看的 项目需求分析看完记得投币的 一分钟宣传视频本组对其他各组评审结果 编号团队名称项目名称报告格式/20演示内容/20答辩内容/20PPT制作/20演讲/20总分/1001天机组指尖加密15.013.613.6…

xml编辑 html_【c# .net】Xml读写操作(XmlTextReader 类)

Xml读写操作&#xff08;XmlTextReader 类&#xff09;1.XML简介1&#xff09;XML 和 HTML 的设计初衷XML 被设计用来传输和存储数据HTML 被设计用来显示数据2&#xff09;什么是 XML?XML 指可扩展标记语言&#xff08;EXtensible Markup Language&#xff09;XML 是一种标记语…

jQ层级选择器

<!DOCTYPE html><html> <head> <meta charset"utf-8" /> <title></title> </head> <body> </body></html> <h1>沁园春雪</h1> <h2>毛***</h2> <div> <span> <d…

spring 获取url参数

1. usl格式&#xff1a; http://localhost:8080/contact/delete/3 java代码 RequestMapping(value"/delete/{id}")public Map<String,Object> delete(PathVariable("id") Integer id){boolean result contactService.deleteContactById(id); 也可以…

leetcode475. 供暖器(二分查找)

冬季已经来临。 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖。 现在&#xff0c;给出位于一条水平线上的房屋和供暖器的位置&#xff0c;找到可以覆盖所有房屋的最小加热半径。 所以&#xff0c;你的输入将会是房屋和供暖器的位置。你将输出供暖器的最小加热半径…

如何在命令行中使用jq将JSON转换为CSV

by Knut Melvr通过纳特梅尔瓦 如何在命令行中使用jq将JSON转换为CSV (How to transform JSON to CSV using jq in the command line) The shell tool jq is awesome for dealing with JSON-data. It can also transform that data into handy CSV-files, ready for all your s…

macaca运行报错之chrome-driver问题处理,关闭 Chrome 的自动更新

自动更新是 Chrome 非常实用的功能之一&#xff0c;但在有些情况下可能还是有关闭自动更新的需求&#xff0c;比如需要用某一个具体的版本来测试一些东西&#xff0c;或者更新之后反而出现了新的 Bug等等。由于一般人没有这样的需求&#xff0c;所以 Google 没有公布关闭自动更…

docker启动sqlserver_Docker搭建SQLServer

一、下载镜像docker pull microsoft/mssql-server-linux二、启动容器docker-composeversion: 3services:sqlserver:image: microsoft/mssql-server-linux:latestrestart: alwaysprivileged: truecontainer_name: sqlserverports:- 1433:1433volumes:- ./data:/var/opt/mssql/da…