当前位置: 首页 > news >正文

每日一题——LeetCode1337.矩阵中战斗力最弱的K行

 

方法一 个人方法 排序

题目要求就是找出每行有多少个1,根据每行1的个数进行排序,但是是把每行在数组中的位置索引进行排序,并返回前k项

所以先统计每行1的个数,并将数组转化为[index,count]就是索引加个数的数组形式,再利用自定义sort()针对数组中count的大小进行排序,最后返回排序后前k项的index索引

var kWeakestRows = function(mat, k) {let res=[],count=0,min=9999for(let i=0;i<mat.length;i++){for(let num of mat[i]){if(num===1){count++}}if(count<min){min=count}res.push([i,count])count=0}res.sort((a,b)=>a[1]-b[1])let ret=[]for(let i=0;i<k;i++){ret.push(res[i][0])}return ret
};

消耗时间和内存情况:

方法二 方法一简化写法:

var kWeakestRows = function(mat, k) {let matMap = mat.map((item, index) => ({index: index,num: item.reduce((pre,next) => next + pre)}))return matMap.sort((a, b) => a.num - b.num).filter((item, index) => index <= k-1).map(item => item.index);
};

 消耗时间和内存情况:

http://www.lryc.cn/news/288179.html

相关文章:

  • docker指令存档
  • Pandas ------ 向 Excel 文件中写入含有 multi-index 和 Multi-column 表头的数据
  • ChatGPT 和文心一言 | 两大AI助手哪个更胜一筹
  • flink学习之窗口处理函数
  • Python 基于pytorch从头写GPT模型;实现gpt实战
  • 2023年NOC大赛(学而思赛道)创意编程Python初中组决赛真题
  • 头歌C++之Switch控制语句编程实训
  • CNN卷积理解
  • DataKit迁移MySQL到openGauss
  • Dockerfile里ADD * 保留原来的目录结构
  • C++ 利用容器适配器,仿函数实现栈,队列,优先级队列(堆),反向迭代器,deque的介绍与底层
  • C语言实战系列二:简单超市收银系统
  • coding推送代码Jenkins自动构建部署
  • Kettle-Docker部署+Sqlserver数据同步Mysql+Start定时任务
  • 《微信小程序开发从入门到实战》学习九十三
  • Java服务端使用freemarker+wkhtmltoimage生成Echart图片
  • 一款颜值与实力并存的翻页时钟(免费)
  • Objective-C方法的声明实现及调用
  • 第十四届蓝桥杯国赛 C++ B 组 C 题——班级活动(AC)
  • GraphQL的力量:简化复杂数据查询
  • python环境安装sklearn及报错解决
  • log4j:WARN Please initialize the log4j system properly的解决办法
  • 虹科分享丨汽车技术的未来:Netropy如何测试和确保汽车以太网的性能
  • 代码CE:reference to ‘XX‘ is ambiguous
  • 如果想将企业微信的组织架构同步到内部知识库咋搞?方法来也!
  • 【c语言】扫雷
  • 自然语言处理的崛起:从初步分析到深度理解
  • Git学习笔记:版本回滚
  • OpenCV图像的基本操作
  • 小白水平理解面试经典题目LeetCode 594 Longest Harmonious Subsequence(最大和谐字符串)