链接: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 行相关推荐

  1. 【LeetCode】1337. 矩阵中战斗力最弱的 K 行(C++)

    1337. 矩阵中战斗力最弱的 K 行(C++) 1 题目描述 2 示例描述 2.1 示例1 2.2 示例2 3 解题提示 4 解题思路 5 源码详解(C++) 6 错误思路 7 源码详解(C++) ...

  2. 【每日挠头算法题】LeetCode 1337. 矩阵中战斗力最弱的 K 行 —— 二分 + 排序 / 堆

  3. LeetCode题解:矩阵中战斗力最弱的 K 行

    矩阵中战斗力最弱的 K 行 一.题目 给你一个大小为 m * n 的矩阵 mat,矩阵由若干军人和平民组成,分别用 1 和 0 表示. 请你返回矩阵中战斗力最弱的 k 行的索引,按从最弱到最强排序. ...

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

    1. 题目 给你一个大小为 m * n 的方阵 mat,方阵由若干军人和平民组成,分别用 0 和 1 表示. 请你返回方阵中战斗力最弱的 k 行的索引,按从最弱到最强排序. 如果第 i 行的军人数量少 ...

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

    给你一个大小为 m * n 的方阵 mat,方阵由若干军人和平民组成,分别用 1 和 0 表示. 请你返回方阵中战斗力最弱的 k 行的索引,按从最弱到最强排序. 如果第 i 行的军人数量少于第 j 行 ...

  6. java 删除二进制内容_从二进制矩阵中仅删除一个元素的行/列

    cr1msonB1ade的方式是一个很好的答案 . 对于更加计算密集的矩阵(数百万x百万),您可以使用此方法: 用稀疏表示法对矩阵进行编码: DT 1, 3, 4, 1, 2, 5, 6, 7, 5, ...

  7. 力扣第378题 有序矩阵中第K小的元素

    题目描述 给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素. 请注意,它是排序后的第 k 小元素,而不是第 k 个不同的元素. 示例: matrix = [ [ ...

  8. 【LeetCode 剑指offer刷题】矩阵题1:4 有序矩阵中的查找( 74. Search a 2D Matrix )(系列)...

    [LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 74. Search a 2D Matrix Write an efficient algorithm that s ...

  9. 矩阵中的主元是什么意思(在消去过程中起主导作用的元素)

    主元(pivot element),一种变元.指在消去过程中起主导作用的元素. 主元就是在矩阵消去过程中,每列的要保留的非零元素,用它可以把该列其他消去 在阶梯型矩阵中,主元就是每个非零行第一个非零元 ...

最新文章

  1. 终于来了,国内首个三维重建系列视频课程,涉及SFM、多视图几何、结构光、单目深度估计等...
  2. Arrays类、大数据运算
  3. Oracle---对字段进行修改(varchar2修改clob)+ 索引失效
  4. SQL_Server_2008完全学习之第八章Transact-SQL编程
  5. 《Python编程从入门到实践》记录之类继承
  6. 【BZOJ2456】mode(主元素问题)
  7. SpringBoot + Mybatis 多模块( module )项目搭建教程
  8. MFC功能扩展控件BCGSuite for MFC入门指南
  9. 使360浏览器自动使用最高IE内核
  10. 无线投影服务器连接投影仪,无线投屏器怎么与投影机连接
  11. 计算几何问题汇总--圆与矩形
  12. 国美易卡利用数据挖掘技术,国美易卡精准分析决策
  13. 携程开源的分布式apollo技术,不吃透都对不起自己
  14. D-Feet的复杂类型使用攻略(DBUS)
  15. 傅立叶变换的实质-正交之美
  16. pycharm连接云端服务器后实现远程debug调试
  17. 镜头评价指标及测试方法【四】————手机摄像头调查
  18. 国际经济学 简答计算
  19. c语言变量 集体备课,集体备课——分享智慧 共同成长
  20. 怎么用计算机画图工具,小编教你电脑自带画图软件如何打开

热门文章

  1. 项目lib上传maven仓库配置
  2. 虚拟化--vsphere排错组件归纳
  3. Android PackageManagerService分析三:卸载APK
  4. 怎么在Linux系统下使用NTFS的U盘或者是分区以及移动硬盘-使用工具NTFS-3G
  5. ChaLearn Gesture Challenge_3:Approximated gradients源码简单分析
  6. python语法学习之对象与参考,局部与全局变量
  7. 删除linux系统中的eth0.bak与多余的网卡
  8. MySQL查看和修改数据库存储目录
  9. 关于SVN常用命令之export
  10. javascript动态修改对象的属性名