当前位置: 首页 > article >正文

动态规划子数组系列一>乘积最大子数组

题目: 

 


解析: 

 


代码: 

public int maxProduct(int[] nums) {
        int n = nums.length;
        int[] f = new int[n+1];
        int[] g = new int[n+1];

        f[0] = g[0] = 1;
        int ret = -0x3f3f3f3f;
        for(int i = 1; i <= n; i++){
            int x = nums[i-1];
            f[i] = Math.max(x,Math.max(g[i-1]*x,f[i-1]*x));
            g[i] = Math.min(x,Math.min(g[i-1]*x,f[i-1]*x));
            ret = Math.max(ret,f[i]);
        }

        return ret;
    }


http://www.kler.cn/a/398966.html

相关文章:

  • sql中的聚合函数
  • JavaScript中的reduce函数
  • Gin 框架中的路由
  • 241113.学习日志——[CSDIY] [ByteDance] 后端训练营 [02]
  • 腾讯云内容合规基于springboot架构设计
  • 云原生之运维监控实践-使用Telegraf、Prometheus与Grafana实现对InfluxDB服务的监测
  • 介绍一下strcmp(c基础)
  • AI赋能社交平台:Facebook的智能化未来
  • 举例理解LSM-Tree,LSM-Tree和B+Tree的比较
  • 【jvm】方法区是否存在GC
  • 2024年中国金融大模型产业发展洞察报告(附完整PDF下载)
  • 【售前方案】工业园区整体解决方案,智慧园区方案,智慧城市方案,智慧各类信息化方案(ppt原件)
  • 3D Gaussian Splatting 代码层理解之Part2
  • Spring Boot 牛刀小试 org.springframework.boot:spring-boot-maven-plugin:找不到类错误
  • 手写模拟Spring Boot自动配置功能
  • Minikube 上安装 Argo Workflow
  • 【进阶编程】 分层结构和横纵向编程接口的结合
  • C/C++基础知识复习(23)
  • 【GameFramework框架】8-3、已经开发完成的虚拟仿真程序如何接入GameFramework框架
  • 3步实现贪吃蛇
  • [Docker#11] 容器编排 | .yml | up | 实验: 部署WordPress
  • Axure设计之文本编辑器制作教程
  • 字节青训-小C的外卖超时判断、小C的排列询问
  • Centos 7 安装wget
  • Vue3 provide 和 inject的使用
  • 深度学习面试题二