今天看到一题罗志祥的多人运动笑死了,赶紧来解答一下子~

点上面链接可以看原题,里面还有C++的解法~(但我tmd看不懂)

顺便推荐star一下LeetCode题解~

我把题目复制到这里来~

已知小猪每晚都要约好几个女生到酒店房间。每个女生 i 与小猪约好的时间由 [si , ei]表示,其中 si 表示女生进入房间的时间, ei 表示女生离开房间的时间。由于小猪心胸开阔,思想开明,不同女生可以同时存在于小猪的房间。请计算出小猪最多同时在做几人的「多人运动」。

**Input : [ [0 , 30] , [5 , 10], [15, 20] ] **

OutPut :最多同时有两个女生的「三人运动」

一句话总结

求出每个时间刻度有几人在场即可。

过程

前情提要

今天突然想看一下three.js,但是跟着文档走没遇到什么问题,所以就来做题吧~

重点

话不多说(已经说了很多了)直接看代码吧~

注释写的超详细~

// 首先输入的是一个二维数组
let input = [[0, 30], [5, 10], [15, 20]];
function getPigTime(input) {// 新数组,用来记录每个人在猪猪房里的每个时间点let newArr = new Array();// 遍历inputinput.forEach((item) => {// 遍历input里每个妹子的时间for (let i = item[0]; i <= item[1]; i++) {// 每个存在的时间点,人物数量+1,每个尚未计算的时间点,赋给新数组一个初始值1newArr[i] ? (newArr[i]++) : (newArr[i] = 1);}});// 新数组中最大的数字就是同一时间多人在线的人物数量。注意这里小猪不算人return Math.max(...newArr);
}
console.log(getPigTime(input));

尾巴

  1. 生成item[0]到item[1]的连续整数数组:
input.forEach( (item)=> {// 转换成数组newArr.push(Array.from(new Array(item[1] + 1).keys()).slice(item[0]));/* 解释上面的狗屎代码:new Array(item[1]+1).keys()是一个array iterator外面套上Array.from()就生成一个item[1]个元素的从0到item[1]的数组再接上slice(item[0])切掉从0到item[0]的数字后就剩下从item[0]开始到item[1]结束的数组了然后把这个数组push到newArr里面,以便forEach结束后继续用...*/
}
  1. 我发现复杂度忘得差不多了,明天看看吧。

  2. 话说上面的代码第一个循环参考了大佬的,我自己写的没这么简化~

JavaScript解答罗志祥多人运动题相关推荐

  1. 万人千题第一阶段报告【待继续总结】

    学习内容概况 目的:找编程和做题的手感 具体训练内容:万人千题第一阶段题库(思维导图),同时还有一些之前做过的题 练习后总结 具体细节之后补充为文字版,概况思维导图如下: 编程细节 位运算使用技巧 d ...

  2. 使用JavaScript解答2018第九届蓝桥杯C/C++省赛A组试题

    大三时参加过第七届蓝桥杯个人赛及团队赛,转眼已经两年,最近看了看第九届蓝桥杯试题,打算用JavaScript实现一下. 题目1 标题:分数 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + ...

  3. Codeforces上通过数超过5W人的题

    Codeforces上通过数超过5W人的题 共32题:1000分4题,800分28题. 编号 题号 题名 分数 通过数 1 4A Watermelon 800 x193501 2 71A Way To ...

  4. 【论文笔记】基于强化学习的机器人手臂仿人运动规划方法

    文章目录 摘要 关键词 0 引言 学者研究 阶段一:采集运动数据,分析运动过程特征 阶段二:设计仿人变量.建立仿人标准和约束 阶段三:用智能算法提升仿人运动机器人性能 本文工作 1 问题描述及方法架构 ...

  5. 【万人千题】誓要成为刷题界的卷王王中王

    <暗里刷题>(改编自<暗里着迷>)   兄弟们,由于需要,得开始接触二次元了,明年想办法进驻b站.承诺会更新算法系列视频教程,十年内保证更新完所有算法视频.有兴趣的可以提前关注 ...

  6. 想参加多人运动?并行流(ParallelStream)模式教你成为时间管理大师

    目的 提高程序运行效率, 减少响应时间或者增加吞吐量 例子代码 最近罗*祥, 福报厂P12 jf 引起了大家的关注, 二位都是因为私人生活问题, 搞的微博程序员天天加班加服务器, 让我等吃了一个又一个 ...

  7. 万人千题 | 九日集训 | 英雄算法联盟合伙人 | 三年之约 | B站直播早起粉丝团

    图中红色字为动态数字,会随时修改 文章目录 一.万人千题 1.简介 2.详述 二.九日集训 1.简介 2.参与人群 2.如何参与 3.集训周期 4.集训内容 5.如何参加 三.英雄算法联盟合伙人 1. ...

  8. 万人千题打卡第六期——习题题解

    描述: 给定一个整数,写一个函数来判断它是否是 3 的幂次方.如果是,返回 true :否则,返回 false . 整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3x 来源:力扣(L ...

  9. JavaScript/jQuery考试中的编译题

    学校的一次JavaScript/jQuery考试中的编译题 以下是我给出的答案: 1.用jQuery编程实现获取选中复选框值的函数abc. <body> <input type=&q ...

最新文章

  1. 普通粒子群算法和优化方法
  2. Linux4.4 TCP源码分析
  3. 计算机二级试题库office选择题,全国计算机二级MSoffice选择题题库2017
  4. 请键入 net helpmsg 3534 以获得更多的帮助。_相遇不易,请珍惜
  5. 推荐几个练习听力不错的国外网站
  6. mysql数据字典生成器_「python技术」列表推导、生成器表达式和字典推导的差异及其示例
  7. (转)OGNL与值栈
  8. 计算机网络拓扑结构方案总结,计算机网络拓扑结构总结
  9. python判断整数是否对称_刷题系列 - Python判断是否镜像对称二叉树
  10. 常用组合逻辑电路及MSI组合电路模块的应用—上篇
  11. Java开发实战经典【Java基础】
  12. Office Tool Plus v8.2.4.0 安装Office组件小工具
  13. uni-app 简介
  14. Matlab求加权平均数,MATLAB Accumarray加权平均值
  15. html页面 关键字高亮,HTML高亮关键字的完美解决方案
  16. 高中英语语法(001)-虚拟语气
  17. 2019年注册测绘师 测绘管理与法律法规 精讲班视频课程
  18. 从0开始的TypeScriptの八:类
  19. 自动驾驶仿真实验流程--以PanoSim仿真软件为例
  20. 人成长中必须知道的20个故事

热门文章

  1. 【基于 Arduino 的 RFID门锁】
  2. 查看谷歌手机是不是Verizon 版(运营商版)
  3. ls一1测距仪说明书_激光测距仪说明书
  4. 万兆以太网的接口规范及万兆网络变压器相关测试的几个问题
  5. 王俊杰:5G为零售带来“五新”发展机遇
  6. 微信小程序开发 | 音乐小程序项目
  7. MSAA, SSAA, FXAA, TXAA
  8. 数学天才用5万字让你读懂:微积分!
  9. 矩阵的对数运算公式_J.1 对数与分贝(DB)与放大倍数
  10. 理解 Zend 框架