在线编程--46.最大矩形面积

简介: 记录并分享自己的做题想法及源码,由于在此之前从没有使用过Java,而在线编程只能用java,因此边学编写,代码比较粗糙,欢迎提出建议,帮助蓬莱松进行改进,在此先谢谢大家啦。。。

题目

有n根木棍(4<=n<=1e5),它们的长度分别为a1,a2,a3...an(1<=ai<=1e9),现在请你从中挑选出4根木棍来组成一个矩形,问这个矩形的最大面积是多少
输入木棍数n和n个木棍长度
输出能组成的矩阵的最大面积

分析

拿到这个题,有以下重点:

  • 矩形:意味着长和宽,同时面积为长*宽,从这个角度思考,能够成矩形,意味着得对所有木棍长度计数,找出个数大于2的数字
  • 求最大面积,求最大面积意味着,找出最大的两个数,相乘就是最大面积;这个地方有个坑,就是最大的数字计数个数超过四个(包含4个)时,能够拼成最大面积的正方形。

通过以上分析,个人认为可以使用hash表来做。直接使用hash表,这样得到的时间复杂度的O(n)

源码

相关源码请参考:
https://code.aliyun.com/xinYe/aliProgrammaCode/blob/master/46.%E6%9C%80%E5%A4%A7%E7%9F%A9%E5%BD%A2%E9%9D%A2%E7%A7%AF.txt

目录
相关文章
|
6月前
|
Java C++ Python
试题 基础练习 圆的面积
试题 基础练习 圆的面积
41 1
|
6月前
|
Java C++ Python
试题 基础练习 矩形面积交
试题 基础练习 矩形面积交
47 0
LeetCode 223. 矩形面积
LeetCode 223. 矩形面积
72 0
|
7天前
|
数据可视化 图形学 Python
在圆的外面画一个正方形:Python实现与技术解析
本文介绍了如何使用Python的`matplotlib`库绘制一个圆,并在其外部绘制一个正方形。通过计算正方形的边长和顶点坐标,实现了圆和正方形的精确对齐。代码示例详细展示了绘制过程,适合初学者学习和实践。
试题:最大的矩形(给定直方图里面积最大的矩形)
试题:最大的矩形(给定直方图里面积最大的矩形)
|
6月前
|
存储 索引
每日一题——柱状图中最大的矩形
每日一题——柱状图中最大的矩形
|
6月前
实训一:构建圆和矩形对象
实训一:构建圆和矩形对象
|
11月前
|
C语言
创建各类三角形图案
C 语言实例 - 创建各类三角形图案
64 1
|
数据挖掘 Python
【python数据分析】绘制双Y轴坐标系
前言 Matplotlib绘制出的图形中会存在一些问题,例如:如何绘制双Y轴坐标系?如何去掉图形默认的边框?以及如何移动坐标到指定位置?下面我们就来看看如何解决
【python数据分析】绘制双Y轴坐标系