太阳能板最大面积js
题目:
给航天器一侧加装长方形或正方形的太阳能板(图中的红色斜线区域),需要先安装两个支柱(图中的黑色竖条),再在支柱的中间部分固定太阳能板。但航天器不同位置的支柱长度不同,太阳能板的安装面积受限于最短一侧的那根支柱长度。如图:
输入描述
10
,
9
,
8
,
7
,
6
,
5
,
4
,
3
,
2
,
1
注释,支柱至少有两根,最多
10000
根,能支持的高度范围
1
~
10
^
9
的整数,
柱子的高度是无序的,例子中的递减是巧合
输出描述
可以支持的最大太阳板面积:(10m高支柱和5m高支柱之间)
25
示例
1
输入
10
,
9
,
8
,
7
,
6
,
5
,
4
,
3
,
2
,
1
输出
25
备注
10
米高支柱和
5
米高支柱之间宽度为
5
,高度取小的支柱高度也是
5
面积为
25
任取其他两根支柱所能获得的面积都小于
25
所以最大面积为
25。
解题思路:
1.注意题目中黑色加粗字体,我们理解一下。也就是说对于两根柱子而言,即使一个是1,一个是9,那么这个太阳能板能安装的最大面积也只是取决于最短柱子的长度,因此我们在获取这两根柱子高度时,应该选择Math.min(arr[i],arr[j])来作为太阳能板的高度。
2.而太阳能板的宽度,则是两根柱子的索引差,用j-i即可。
3.用一个变量来保存最大的面积,通过不断比较更新最大面积。
代码:
function maxSqr(arr) {let maxValue = 0 for(let i = 0 ; i <arr.length ; i++) {for(let j = 0; j < arr.length;j++) {maxValue = Math.max(maxValue,Math.min(arr[i],arr[j])*(j-i))}}return maxValue
}console.log(maxSqr([10,9,8,7,6,5,4,3,2,1])) //25
牛客网上的代码只需要处理一下输入输出即可。
代码优化:
上述代码时间复杂度较高,因此我们需要对代码进行优化。
可以使用双指针的解法,初始化双指针分列水槽左右两端,循环每轮将短板向内移动一格,并更新面积最大值,直到两指针相遇时跳出;即可获得最大面积。
因为每次移动短板,这个太阳板的最短板可能变大,下一个太阳板的面积可能增大。
而如果移动长板,则这个太阳板的短板不变或者变小,下一个太阳板的面积必然变小。
因此应该移动短板。
var maxArea = function(height) {let i = 0 , j = height.length - 1, res = 0;while(i<j) {res = height[i] < height[j] ? Math.max(res,(j-i)*height[i++]) : Math.max(res,(j-i)*height[j--])}return res
};
太阳能板最大面积js相关推荐
- 太阳能发电板的规格尺寸_新疆深山藏着一个村庄,至今未通水电,村民买太阳能板自行发电...
芒果旅行日记:新疆深山藏着一个村庄,至今未通水电,村民买太阳能板自行发电,电量仅够照明和手机充电,那里曾长期与世隔绝,风景绝美宛如世外桃源. 这个村庄叫琼库什台,位于新疆伊犁州特克斯县,是一个哈萨克族 ...
- 太阳能板如何串联_太阳能光伏系统单晶和多晶模组的差异?农村家庭自用如何科学选择...
太阳能光伏想必大家都耳熟能详,因其环保且属于可再生能源,目前在农村很多居民屋顶都已经铺设了光伏发电系统,即节省了电费开支又能并入国家电网,所以近些年来我国的光伏产业得到了很好的发展,是目前发展最快的清 ...
- 【知识】太阳能板行业生产加工步骤(超详细)
1.太阳能板车间操作流程: 电池片切片→电池片测试→电池片选片→焊片→串片→叠层→EL测试→层压→组边框→清洗→打胶上盒→接线→闪光测试→包装. 2.电池片切片操作流程: 根据客户订单要求,在连接切片 ...
- 太阳能板如何串联_还在犹豫用不用太阳能灯?这些分析让你少花钱,更省钱。...
上次发了小编自己制作花园地灯的视频和文章后,有朋友疑问,为什么不使用太阳能灯,其实小编花园里都有,也有做过比较.今天把多年的心得分享给大家,从安装.使用范围.和成本几个方面给大家提供参考,以便大家选择 ...
- 弹性板计算和板带划分计算_计算双面太阳能板背面太阳辐射的新方法
图片来源: Nextracker 土耳其中东技术大学(METU)和古穆萨内大学(Gumushane University)的研究人员,开发出一种计算双面太阳能组件背面太阳辐射的新方法.在最近发表在&l ...
- parallels desktop 缺少组件_厦门100W5折电脑太阳能光伏组件,100W293mm*418mm*70mmMP4车载太阳能板...
深圳市迪晟能源技术有限公司为您详细解读mDFIGg厦门100W5折电脑太阳能光伏组件的相关知识与详情,太阳能电池又称为"太阳能芯片"或"光电池",是一种操纵太阳 ...
- 文献阅读07期:智网中动态电价对太阳能板普及的影响
[ 文献阅读·能源 ] Techno-economic analysis of the impact of dynamic electricity prices on solar penetratio ...
- 基于51单片机的太阳能板追光控制串口上报系统proteus仿真原理图PCB
功能介绍: 0.本系统采用STC89C52作为单片机 1.支持手动/自动两种模式 2.自动模式下,系统实时监测当前各个方位的光强信息,并通过串口上报 3.自动模式下,通过判断各方位的光强,转动步进电机 ...
- 基于Arduino的太阳能板追光装置设计
本装置使用光敏电阻,暗电阻几乎达到1MΩ,强光条件下只有几百Ω,因此我们串联1K可调电阻进行限流分压,否则光敏电阻电阻过低近似导通会烧坏东西吧 为了适应环境的变化,我采用了可调电阻.而且光敏电阻可能因 ...
最新文章
- 我,斯坦福AI读博,李飞飞是师娘,5年5篇顶会论文,依然一度抑郁怀疑人生
- 20天拿到美团快手小米搜狐跟谁学offer
- Developer Express XtraGrid使用技巧
- 分类素材(part1)--Python与机器学习实战
- 75. 颜色分类 golang
- [转]Oh My Zsh,安装,主题配置
- 【英语学习】【Daily English】U06 Shopping L04 I like everything aboutit but the price.
- python正则表达式匹配模式屠夫之桥_小甲鱼零基础入门Python学习视频+全套源码课件 Python视频教程 96讲...
- Android开发笔记(六十六)自定义对话框
- Android Binder 学习中几个问题
- VMwarePro16 安装 Win7+BurpSuite
- Android版本控制软件之SVN
- outlook 2016 添加126邮箱教程
- 系统的可靠性分析与设计---可靠性的概述
- CRC-16/CCITT算法实现
- 【Python例】利用 python 进行用户画像词云图的生成 --- wordcloud
- linux who命令功能,Linux who命令详解
- mov,lea指令的区别
- 计算机相近相关专业职称,电子与智能化工程相关专业职称包括计算机、电子、通信、自动化、...
- oracle 压测工具 ld,ORACLE压力测试工具
热门文章
- 查询数据库中的重复数据记录
- length,length(),size()详解及区别
- 高中计算机应用基础试题及答案,春学期职业高中计算机应用基础试卷
- 射频测试 —— 蓝牙定频测试1
- javaScript(ES5)中想方设法继承家产的方式详解
- R数据分析:生存分析的列线图的理解与绘制详细教程
- python内置函数返回元素个数_python内置函数列表(list)
- Keep能一直“keep”吗?
- 打破 FOXMAIL 疯狂占用磁盘读写资源的魔障
- rbf神经网络matlab代码_【新书推荐】【2008.06】机器人控制系统的设计与MATLAB仿真(刘金琨)...