[编程题] 最大矩形面积(美团点评2017秋招)
2018-01-03 13:37
381 查看
时间限制:1秒
空间限制:32768K
给定一组非负整数组成的数组h,代表一组柱状图的高度,其中每个柱子的宽度都为1。 在这组柱状图中找到能组成的最大矩形的面积(如图所示)。 入参h为一个整型数组,代表每个柱子的高度,返回面积的值。
输入描述:输入包括两行,第一行包含一个整数n(1≤n≤10000),第二行包括n个整数,表示h数组中的每个值,h_i(1 ≤ h_i ≤ 1,000,000)
输出描述:输出一个整数,表示最大的矩阵面积。
输入例子:
6
2 1 5 6 2 3
输出例子:
10
思路:依次选择每一根柱子,求出每一根柱子扩展出去的最大矩形,那么其中最大的矩形就是我们想要的。
代码:
空间限制:32768K
给定一组非负整数组成的数组h,代表一组柱状图的高度,其中每个柱子的宽度都为1。 在这组柱状图中找到能组成的最大矩形的面积(如图所示)。 入参h为一个整型数组,代表每个柱子的高度,返回面积的值。
输入描述:输入包括两行,第一行包含一个整数n(1≤n≤10000),第二行包括n个整数,表示h数组中的每个值,h_i(1 ≤ h_i ≤ 1,000,000)
输出描述:输出一个整数,表示最大的矩阵面积。
输入例子:
6
2 1 5 6 2 3
输出例子:
10
思路:依次选择每一根柱子,求出每一根柱子扩展出去的最大矩形,那么其中最大的矩形就是我们想要的。
代码:
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[]arr = new int ; for(int i = 0; i < arr.length; i++) { arr[i] = sc.nextInt(); } System.out.println(ans(arr)); } public static int ans(int[] arr) { int max = 0; for(int i = 0; i < arr.length; i++) { int temp = arr[i]; //向左扩展 for(int left = i - 1; left >=0; left--) { if(arr[left] < arr[i]) { break; }else { temp += arr[i]; } } //向右扩展 for(int right = i + 1; right < arr.length; right++) { if(arr[right] < arr[i]) { break; }else { temp += arr[i]; } } if(temp > max) { max = temp; } } return max; } }
相关文章推荐
- 美团2017校招-最大矩形面积
- 【名企笔试】美团2017校招笔试(最大矩形面积)
- 【美团】最大矩形面积(分治法)
- [编程题] 最长公共连续子串(美团点评2017秋招)
- [编程题] 拼凑钱币(美团点评2017秋招)
- 直方图内最大矩形---- 美团2016研发工程师在线编程题
- 美团点评2017秋招笔试编程题 - 题解
- 美团点评 2017春招编程题
- 美团点评2017秋招笔试编程题第3题
- 题解-美团点评2017秋招笔试编程题
- 美团点评2017校园招聘编程题--取红包
- [编程题] 大富翁游戏(美团点评2017秋招)
- 美团点评2017秋招笔试编程题第2题
- 2017 icpc 南宁赛区 F.Overlapping Rectangles(重叠矩形的最大面积+线段树模板)
- 美团2017编程题—拼凑钱币&大富翁游戏&最大矩形面积&最长公共连续子串
- 柱状图求最大矩形面积
- [51nod1102]面积最大的矩形(单调栈||预处理)
- POJ2104 最大矩形面积 单调栈
- 给定整型数组,其中每个元素表示木板的高度,木板的宽度都相同,求这些木板拼出的最大矩形的面积。并分析时间复杂度。
- Largest Rectangle in a Histogram(最大矩形面积,动态规划思想)