alicode46-最大矩形面积

Posted asenyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了alicode46-最大矩形面积相关的知识,希望对你有一定的参考价值。

 1 package solution46;
 2 import java.util.*;
 3 class Solution {
 4     public long solution(int n,long[] nums) {
 5         long  maxNum = 0;
 6         long  maxSecNum = 0;
 7         HashMap<Long,Integer> map=new HashMap<Long,Integer>();
 8         for(long i:nums){
 9             if(!map.containsKey(i)) map.put(i,1);
10             else map.put(i,map.get(i)+1);
11         }
12         for (long key : map.keySet()) {
13             if(map.get(key)>1){
14                 if(key >maxSecNum){
15                     if(key>maxNum){
16                         maxSecNum = maxNum;
17                         maxNum = key;
18                     }else{
19                         maxSecNum = key;
20                     }
21                 }
22             }
23         }
24         if(map.get(maxNum) != null && map.get(maxNum)>=4) return(maxNum*maxNum);
25         return(maxNum*maxSecNum);  
26     }
27 }

算法思路:hash。

注意12行的循环,是从hashmap的key集合中循环,每个key只循环一次。

以上是关于alicode46-最大矩形面积的主要内容,如果未能解决你的问题,请参考以下文章

1102 面积最大的矩形

ccf--20131203--最大矩形

直方图中最大矩形面积

矩形最大面积

最大矩形面积

51Nod - 1102 面积最大的矩形