JavaScript解答罗志祥多人运动题
今天看到一题罗志祥的多人运动笑死了,赶紧来解答一下子~
点上面链接可以看原题,里面还有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));
尾巴
- 生成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结束后继续用...*/
}
我发现复杂度忘得差不多了,明天看看吧。
话说上面的代码第一个循环参考了大佬的,我自己写的没这么简化~
JavaScript解答罗志祥多人运动题相关推荐
- 万人千题第一阶段报告【待继续总结】
学习内容概况 目的:找编程和做题的手感 具体训练内容:万人千题第一阶段题库(思维导图),同时还有一些之前做过的题 练习后总结 具体细节之后补充为文字版,概况思维导图如下: 编程细节 位运算使用技巧 d ...
- 使用JavaScript解答2018第九届蓝桥杯C/C++省赛A组试题
大三时参加过第七届蓝桥杯个人赛及团队赛,转眼已经两年,最近看了看第九届蓝桥杯试题,打算用JavaScript实现一下. 题目1 标题:分数 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + ...
- Codeforces上通过数超过5W人的题
Codeforces上通过数超过5W人的题 共32题:1000分4题,800分28题. 编号 题号 题名 分数 通过数 1 4A Watermelon 800 x193501 2 71A Way To ...
- 【论文笔记】基于强化学习的机器人手臂仿人运动规划方法
文章目录 摘要 关键词 0 引言 学者研究 阶段一:采集运动数据,分析运动过程特征 阶段二:设计仿人变量.建立仿人标准和约束 阶段三:用智能算法提升仿人运动机器人性能 本文工作 1 问题描述及方法架构 ...
- 【万人千题】誓要成为刷题界的卷王王中王
<暗里刷题>(改编自<暗里着迷>) 兄弟们,由于需要,得开始接触二次元了,明年想办法进驻b站.承诺会更新算法系列视频教程,十年内保证更新完所有算法视频.有兴趣的可以提前关注 ...
- 想参加多人运动?并行流(ParallelStream)模式教你成为时间管理大师
目的 提高程序运行效率, 减少响应时间或者增加吞吐量 例子代码 最近罗*祥, 福报厂P12 jf 引起了大家的关注, 二位都是因为私人生活问题, 搞的微博程序员天天加班加服务器, 让我等吃了一个又一个 ...
- 万人千题 | 九日集训 | 英雄算法联盟合伙人 | 三年之约 | B站直播早起粉丝团
图中红色字为动态数字,会随时修改 文章目录 一.万人千题 1.简介 2.详述 二.九日集训 1.简介 2.参与人群 2.如何参与 3.集训周期 4.集训内容 5.如何参加 三.英雄算法联盟合伙人 1. ...
- 万人千题打卡第六期——习题题解
描述: 给定一个整数,写一个函数来判断它是否是 3 的幂次方.如果是,返回 true :否则,返回 false . 整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3x 来源:力扣(L ...
- JavaScript/jQuery考试中的编译题
学校的一次JavaScript/jQuery考试中的编译题 以下是我给出的答案: 1.用jQuery编程实现获取选中复选框值的函数abc. <body> <input type=&q ...
最新文章
- linux系统下设置oracle开机自动启动
- java方法声明无效_java 方法声明无效 需要返回类型
- 李彦宏喊你来坐出租车,无人驾驶的那种;百度还要继续搞芯片,联手华为的那种...
- 蓝点lilac / ContextMenuManager:win10右键菜单清理工具
- [读书笔记]TCP/IP详解V1读书笔记-1
- 浏览器从输入URL到页面渲染过程 ——页面渲染流程
- java日期时间各种变换及处理
- 微信小程序——极点日历使用方法
- RR调度(Round-robin scheduling)简单介绍
- java recv failed,java.sql.SQLException: I/O Error: Software caused connection abort: recv failed
- JavaScript---去除字符串中的空格(五种方式,总有一种适合你)
- go语言遍历目录中的文件
- alot英文怎么读_iot中文读什么,AloT怎么读,Iot是什么意思中文翻译
- 北京地区机动车限行交强险保费减免方案
- Spinnaker第七节—Orca代码详解
- PHP 2014 CHM手册
- 安装Win7系统,提示缺少所需的CD/DVD驱动器设备驱动程序
- 服务器站点地址是什么意思,云服务器地址是什么意思
- SQL查询语句的使用
- MPB:中科院城环所杨军组-​​基于DNA宏条形码的水体微型真核生物群落测序建库方法...
热门文章
- 用友系统管理找不到服务器,用友软件登录不到服务器
- 圈复杂度Cyclomatic complexity
- .编译实现输入千米数,输出显示英里数,1英里=1.60934千米(用符号常量)
- android修改猎豹浏览器,猎豹Android浏览器设计或编码缺陷导致远程拒绝服务漏洞 | wooyun-2015-0121433| WooYun.org...
- 祝贺数字化学会•第三届数据分析应用大赛圆满落幕,恭喜以下队伍获奖
- 5G时代下的创新技术和应用场景
- 微信小程序清除缓存/退出登录
- 计算机专业好的二本c类院校,2017二本C类大学排名文科
- TXAA,MSAA,SMAA,FXAA
- 计算机通信属于那一类商标,计算机 电池充电器 衡器 量具 眼镜 无线电通信音响设备商标注册属于哪一类?...