利用枚举法求直方图中最大矩形面积的方法实例

 更新时间:2019年02月18日 14:53:06   作者:gavenyeah  
今天小编就为大家分享一篇关于利用枚举法求直方图中最大矩形面积的方法实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

求直方图中的最大矩形面积:

例如给定直方图{2,3,1,2,4,2}

则直方图中最大矩形面积为x=(3,6),|x|=3,y=2,max面积=6

思考:利用枚举法

/*当前位置往前进行枚举法*/
publicclass Solution{
  static int histogramMaxArea( int[]a ){
     int maxS =a [0];
     for(int i =0;i <a .length;i ++){    //直方图中依次向后枚举
       int min =a [i ];         //记录当前条图及之前最小值
       int m =0;            //记录底部边长
       for(int j =i ;j >=0;j --){     //依次向前取最大矩形
         m++;
         if( a[ j]< min){
           min= a[ j];
        }
         int s =m *min ;       //矩形面积计算
         if( s> maxS){
           maxS= s;
        }
      }
    }
     return maxS ;
  }
  public static void main(String args[]){
     int a []={2,1,1,2};
     int maxArea =histogramMaxArea( a);
    System. out.print(maxArea );
  }
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • java stream使用指南之sorted使用及进阶方式

    java stream使用指南之sorted使用及进阶方式

    这篇文章主要介绍了java stream使用指南之sorted使用及进阶方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • java实现登录窗口

    java实现登录窗口

    这篇文章主要为大家详细介绍了java实现登录窗口,含验证码验证、账户注册等,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • SpringMVC结合天气api实现天气查询

    SpringMVC结合天气api实现天气查询

    这篇文章主要为大家详细介绍了SpringMVC结合天气api实现天气查询,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Java编程一个随机数产生模块代码分享

    Java编程一个随机数产生模块代码分享

    这篇文章主要介绍了Java编程一个随机数产生模块代码分享,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • Java将科学计数法数据转为字符串的实例

    Java将科学计数法数据转为字符串的实例

    下面小编就为大家带来一篇Java将科学计数法数据转为字符串的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • java int类型二维数组实现“杨辉三角”的完整实例

    java int类型二维数组实现“杨辉三角”的完整实例

    这篇文章主要给大家介绍了关于java int类型二维数组实现“杨辉三角”的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 详解Java8 新特性之日期API

    详解Java8 新特性之日期API

    Java 8 在包java.time下包含了一组全新的时间日期API。下面通过示例给大家讲解java8 新特征日期api的相关知识,感兴趣的朋友一起看看吧
    2017-07-07
  • Java基础之Unsafe内存操作不安全类详解

    Java基础之Unsafe内存操作不安全类详解

    Java是面向对象语言,在使用Java编程时,大多数情况下都不会直接操作内存,而且Java也不提倡直接操作内存,但是Java中到底有没有可以直接操作内存的工具类呢?有!Java中提供Unsafe类可以用来来直接操作内存,文中详细介绍了Unsafe内存操作不安全类,需要的朋友可以参考下
    2021-06-06
  • 详细讲解springboot如何实现异步任务

    详细讲解springboot如何实现异步任务

    异步:异步与同步相对,当一个异步过程调用发出后,调用者在没有得到结果之前,就可以继续执行后续操作。也就是说无论异步方法执行代码需要多长时间,跟主线程没有任何影响,主线程可以继续向下执行
    2022-04-04
  • Java Web项目中解决中文乱码方法总结(三种最新方法)

    Java Web项目中解决中文乱码方法总结(三种最新方法)

    这篇文章主要介绍了Java Web项目中解决中文乱码方法总结,本文给大家分享三种最新解决方法,需要的朋友可以参考下
    2022-06-06

最新评论