leetcode:1337. 方阵中战斗力最弱的 K 行
1337. 方阵中战斗力最弱的 K 行
示例 1:
解释:
示例 2:
解释:
提示:
法一:写cmp函数进行对结构体排序
class Solution
{
public:
typedef struct node
{
int val;
int index;
}; static bool cmp(Solution::node a,Solution::node b){
return a.val==b.val?a.index<b.index:a.val<b.val;
} vector<int> kWeakestRows(vector<vector<int>> &mat, int k)
{
int len=mat.size();
node res[len];
for (int i = 0; i < len; i++)
{
int cnt = 0;
for (int j = 0; j < mat[0].size(); j++)
{
if (mat[i][j])
cnt++;
}
res[i].index=i;
res[i].val=cnt;
} sort(res,res+len,cmp); vector<int>v;
for(int i=0;i<k;i++){
v.push_back(res[i].index);
} return v;
}
};
法二:重载运算符的方法,速度更快,快四毫秒。
class Solution
{
public:
struct node
{
int val;
int index;
bool operator<(const node &b){
return val==b.val?index<b.index:val<b.val;
}
}; vector<int> kWeakestRows(vector<vector<int>> &mat, int k)
{
int len=mat.size();
node res[len];
for (int i = 0; i < len; i++)
{
int cnt = 0;
for (int j = 0; j < mat[0].size(); j++)
{
if (mat[i][j])
cnt++;
}
res[i].index=i;
res[i].val=cnt;
} sort(res,res+len); vector<int>v;
for(int i=0;i<k;i++){
v.push_back(res[i].index);
} return v;
}
};
leetcode:1337. 方阵中战斗力最弱的 K 行的更多相关文章
- LeetCode1337矩阵中最弱的K行
题目 给你一个大小为 m * n 的矩阵 mat,矩阵由若干军人和平民组成,分别用 1 和 0 表示. 请你返回矩阵中战斗力最弱的 k 行的索引,按从最弱到最强排序. 如果第 i 行的军人数量少于第 ...
- java中强,软,弱,虚引用 以及WeakHahMap
java中强,软,弱,虚引用 以及WeakHahMap 一:强软引用: 参考:http://zhangjunhd.blog.51cto.com/113473/53092/进行分析 packa ...
- LeetCode:数组中的第K个最大元素【215】
LeetCode:数组中的第K个最大元素[215] 题目描述 在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 1: ...
- 前端与算法 leetcode 387. 字符串中的第一个唯一字符
目录 # 前端与算法 leetcode 387. 字符串中的第一个唯一字符 题目描述 概要 提示 解析 解法一:双循环 解法二:Set法单循环 算法 传入测试用例的运行结果 执行结果 GitHub仓库 ...
- LeetCode.1185-一周中的星期几(Day of the Week)
这是小川的第415次更新,第448篇原创 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第266题(顺位题号是1185).给定日期,返回该日期的星期几.输入为三个整数,分别代表日,月和 ...
- LeetCode.993-二叉树中的堂兄弟(Cousins in Binary Tree)
这是悦乐书的第374次更新,第401篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第235题(顺位题号是993).在二叉树中,根节点在深度0处,并且每个深度为k的节点的子 ...
- LeetCode.961-2N数组中N次重复的元素(N-Repeated Element in Size 2N Array)
这是悦乐书的第365次更新,第393篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第227题(顺位题号是961).在大小为2N的数组A中,存在N+1个唯一元素,并且这些元 ...
- Leetcode——863.二叉树中所有距离为 K 的结点
给定一个二叉树(具有根结点 root), 一个目标结点 target ,和一个整数值 K . 返回到目标结点 target 距离为 K 的所有结点的值的列表. 答案可以以任何顺序返回. 示例 1: 输 ...
- 【JavaScript】Leetcode每日一题-矩形区域不超过K的最大值和
[JavaScript]Leetcode每日一题-矩形区域不超过K的最大值和 [题目描述] 给你一个 m x n 的矩阵 matrix 和一个整数 k ,找出并返回矩阵内部矩形区域的不超过 k 的最大 ...
- Leetcode:230. 二叉搜索树中第K小的元素
Leetcode:230. 二叉搜索树中第K小的元素 Leetcode:230. 二叉搜索树中第K小的元素 思路: 利用BST的中序历遍的结果为其排序后的结果,我们可以利用其特性直接找到第k个中序遍历 ...
随机推荐
- [VueJsDev] 日志 - nginxConfig 配置文件备份
[VueJsDev] 目录列表 https://www.cnblogs.com/pengchenggang/p/17037320.html nginxConfig 配置文件备份 ::: details ...
- 后端基础PHP-PHP简介及基本函数
后端基础PHP-PHP简介及基本函数 1.PHP简单介绍 2.PHP基本语法 一.PHP简单介绍 PHP(超文本预处理器),是一种通用的开源脚本语言,标准的后端语言 比较常见的后端语言,ASP|ASP ...
- 20_使用SDL显示BMP图片
文本的主要内容是:使用SDL显示一张BMP图片,算是为后面的<显示YUV图片>做准备. 为什么是显示BMP图片?而不是显示JPG或PNG图片? 因为SDL内置了加载BMP的API,使用起来 ...
- C程序问题归纳(static,auto,register,extern,程序内存分布图,linux下程序的执行过程......)(二)
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- java基础 韩顺平老师的 面向对象(中级) 自己记的部分笔记
272,包基本介绍 包的三大作用 1,区分相同的类 2,当类很多时,可以很好的管理类 3,控制访问范围 包基本用法 package com.hspedu; 说明: 1,package 关键字, ...
- .NET集成DeveloperSharp操作Sql Server数据库
支持.Net/.Net Core/.Net Framework,可以部署在Docker, Windows, Linux, Mac. 本文提供了一种结合"原生Sql+轻量级ORM"操 ...
- Python 查找PDF中的指定文本并高亮显示
在处理大量PDF文档时,有时我们需要快速找到特定的文本信息.本文将提供以下三个Python示例来帮助你在PDF文件中快速查找并高亮指定的文本. 查找并高亮PDF中所有的指定文本 查找并高亮PDF某个区 ...
- Locust 断言的实现?
一.检查点的方式有哪些: 主要是python 内置的assert 断言(自动断言)还有locust 中的catch_response 断言(手动断言):那么这两者之间有什么区别呢? 其实主要区别在与生 ...
- 记录-记一次不规范使用key引发的惨案
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 平时在使用v-for的时候,一般会要求传入key,有没有像我一样的小伙伴,为了省心,直接传索引index,貌似也没有遇到过什么问题, ...
- ARM和x86比较
信不信,随便逮住一个人问他知不知道CPU,我想他的答案一定会是肯定的,但是如果你再问他知道ARM和X86架构么?这两者的区别又是什么?绝大多数的人肯定是一脸懵逼.今天小编就带你深入了解CPU的这两大架 ...