1337. 矩阵中战斗力最弱的 K 行
链接:1337. 矩阵中战斗力最弱的 K 行
题解:
class Solution {
public:int first_count(const vector<int>& row) {int left = 0;int right = row.size()-1;int val = 1;while (left + 1 < right) {int mid = left + (right-left)/2;if (row[mid] < val) {right = mid;} else if (row[mid] > val) {left = mid;} else {left = mid;}}if (row[right] == val) {return right+1;}if (row[left] == val) {return left+1;}return 0;}vector<int> kWeakestRows(vector<vector<int>>& mat, int k) {vector<std::pair<int, int>> tables;for (int i = 0; i < mat.size(); ++i) {int cnt = first_count(mat[i]);tables.push_back({cnt, i});}auto cmp = [](std::pair<int, int>& a, std::pair<int, int>& b) {if (a.first < b.first) {return true;}if (a.first == b.first) {if (a.second < b.second) {return true;}}return false;};sort(tables.begin(), tables.end(), cmp);int i = 0;vector<int> result;result.reserve(k);for (auto entry : tables) {if (i >= k) {break;}++i;result.push_back(entry.second);}return result;}
};
1337. 矩阵中战斗力最弱的 K 行相关推荐
- 【LeetCode】1337. 矩阵中战斗力最弱的 K 行(C++)
1337. 矩阵中战斗力最弱的 K 行(C++) 1 题目描述 2 示例描述 2.1 示例1 2.2 示例2 3 解题提示 4 解题思路 5 源码详解(C++) 6 错误思路 7 源码详解(C++) ...
- 【每日挠头算法题】LeetCode 1337. 矩阵中战斗力最弱的 K 行 —— 二分 + 排序 / 堆
- LeetCode题解:矩阵中战斗力最弱的 K 行
矩阵中战斗力最弱的 K 行 一.题目 给你一个大小为 m * n 的矩阵 mat,矩阵由若干军人和平民组成,分别用 1 和 0 表示. 请你返回矩阵中战斗力最弱的 k 行的索引,按从最弱到最强排序. ...
- LeetCode 1337. 方阵中战斗力最弱的 K 行(优先队列)
1. 题目 给你一个大小为 m * n 的方阵 mat,方阵由若干军人和平民组成,分别用 0 和 1 表示. 请你返回方阵中战斗力最弱的 k 行的索引,按从最弱到最强排序. 如果第 i 行的军人数量少 ...
- leetcode1337. 方阵中战斗力最弱的 K 行(优先队列)
给你一个大小为 m * n 的方阵 mat,方阵由若干军人和平民组成,分别用 1 和 0 表示. 请你返回方阵中战斗力最弱的 k 行的索引,按从最弱到最强排序. 如果第 i 行的军人数量少于第 j 行 ...
- java 删除二进制内容_从二进制矩阵中仅删除一个元素的行/列
cr1msonB1ade的方式是一个很好的答案 . 对于更加计算密集的矩阵(数百万x百万),您可以使用此方法: 用稀疏表示法对矩阵进行编码: DT 1, 3, 4, 1, 2, 5, 6, 7, 5, ...
- 力扣第378题 有序矩阵中第K小的元素
题目描述 给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素. 请注意,它是排序后的第 k 小元素,而不是第 k 个不同的元素. 示例: matrix = [ [ ...
- 【LeetCode 剑指offer刷题】矩阵题1:4 有序矩阵中的查找( 74. Search a 2D Matrix )(系列)...
[LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 74. Search a 2D Matrix Write an efficient algorithm that s ...
- 矩阵中的主元是什么意思(在消去过程中起主导作用的元素)
主元(pivot element),一种变元.指在消去过程中起主导作用的元素. 主元就是在矩阵消去过程中,每列的要保留的非零元素,用它可以把该列其他消去 在阶梯型矩阵中,主元就是每个非零行第一个非零元 ...
最新文章
- 终于来了,国内首个三维重建系列视频课程,涉及SFM、多视图几何、结构光、单目深度估计等...
- Arrays类、大数据运算
- Oracle---对字段进行修改(varchar2修改clob)+ 索引失效
- SQL_Server_2008完全学习之第八章Transact-SQL编程
- 《Python编程从入门到实践》记录之类继承
- 【BZOJ2456】mode(主元素问题)
- SpringBoot + Mybatis 多模块( module )项目搭建教程
- MFC功能扩展控件BCGSuite for MFC入门指南
- 使360浏览器自动使用最高IE内核
- 无线投影服务器连接投影仪,无线投屏器怎么与投影机连接
- 计算几何问题汇总--圆与矩形
- 国美易卡利用数据挖掘技术,国美易卡精准分析决策
- 携程开源的分布式apollo技术,不吃透都对不起自己
- D-Feet的复杂类型使用攻略(DBUS)
- 傅立叶变换的实质-正交之美
- pycharm连接云端服务器后实现远程debug调试
- 镜头评价指标及测试方法【四】————手机摄像头调查
- 国际经济学 简答计算
- c语言变量 集体备课,集体备课——分享智慧 共同成长
- 怎么用计算机画图工具,小编教你电脑自带画图软件如何打开