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

 更新时间: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实现读取Word模板文档并替换内容生成新文档

    Java实现读取Word模板文档并替换内容生成新文档

    在实际开发中,经常会遇到需要根据 Word 模板生成特定文档的需求,下面小编就来为大家介绍一下如何使用 Apache POI 库来读取 Word 模板文档,然后替换其中的指定内容最后生成新的文档吧
    2025-02-02
  • 关于MVC设计模式及流程解析

    关于MVC设计模式及流程解析

    这篇文章主要介绍了关于MVC设计模式及流程解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Java 通过JDBC连接Mysql数据库

    Java 通过JDBC连接Mysql数据库

    本文给大家详细介绍了java如何使用JDBC连接Mysql的方法以及驱动包的安装,最后给大家附上了java通过JDBC连接其他各种数据库的方法,有需要的小伙伴可以参考下。
    2015-11-11
  • java多线程累加计数的实现方法

    java多线程累加计数的实现方法

    在多线程协作任务中,如何计算也是很重的,这篇文章主要介绍了java多线程累加计数的实现方法,感兴趣的朋友可以了解一下
    2021-05-05
  • JAVA操作XML实例分析

    JAVA操作XML实例分析

    这篇文章主要介绍了JAVA操作XML的方法,实例分析了java操作XML文件的常用技巧,需要的朋友可以参考下
    2015-03-03
  • JMM核心概念之Happens-before原则

    JMM核心概念之Happens-before原则

    关于Java并发的通信机制是基于共享内存实现的,线程之间共享程序的公共状态,通过写-读内存中的公共状态进行隐式通信,这对程序员是透明的,我们需要理解其工作机制,以防止内存可见性问题,从而编写出正确同步的代码
    2021-06-06
  • JSON 与对象、集合之间的转换的示例

    JSON 与对象、集合之间的转换的示例

    在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML、JSON等,JSON作为一个轻量级的数据格式比xml效率要高,本篇文章主要介绍了JSON 与 对象 、集合 之间的转换,有兴趣的可以了解一下。
    2017-01-01
  • Spring Boot 项目搭建教程及注解

    Spring Boot 项目搭建教程及注解

    下面小编就为大家带来一篇Spring Boot 项目搭建教程及注解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Java 14 发布了,你还会使用Lombok?

    Java 14 发布了,你还会使用Lombok?

    2020年3月17日发布,Java正式发布了JDK 14 ,目前已经可以开放下载。在JDK 14中,共有16个新特性,本文主要来介绍其中的一个特性:JEP 359: Records,需要的朋友可以参考下
    2020-04-04
  • Java SE使用数组实现高速数字转换功能

    Java SE使用数组实现高速数字转换功能

    随着大数据时代的到来,数字转换功能变得越来越重要,在Java开发中,数字转换功能也是经常用到的,下面我们就来学习一下如何使用Java SE数组实现高速的数字转换功能吧
    2023-11-11

最新评论