力扣动态规划-12【算法学习day.106】

前言

###我做这类文章一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?建议灵神的题单和代码随想录)和记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!


习题

1.乘积最大子数组

题目链接: 152. 乘积最大子数组 - 力扣(LeetCode)

题面:

代码:

java 复制代码
class Solution {
    public int maxProduct(int[] nums) {
        int n = nums.length;
        int[] flag1 = new int[n];
        int[] flag2 = new int[n];
        flag1[0] = nums[0];
        flag2[0] = nums[0];
        int max = nums[0];
        for(int i = 1;i<n;i++){
            flag1[i] = Math.max(Math.max(flag1[i-1]*nums[i],flag2[i-1]*nums[i]),nums[i]);
            flag2[i] = Math.min(Math.min(flag1[i-1]*nums[i],flag2[i-1]*nums[i]),nums[i]);
            if(flag1[i]>max)max = flag1[i];
        }
        return max;
        }
}

后言

上面是动态规划相关的习题,共勉

相关推荐
大熊猫侯佩3 分钟前
Swift 数学计算:用 Accelerate 框架让性能“加速吃鸡”
算法·swift
wuxuanok4 分钟前
Web后端开发-Mybatis
java·开发语言·笔记·学习·mybatis
带刺的坐椅23 分钟前
Java MCP 实战:构建跨进程与远程的工具服务
java·ai·solon·mcp
杰克尼24 分钟前
2. 两数相加
算法
无聊的小坏坏24 分钟前
单调栈通关指南:从力扣 84 到力扣 42
c++·算法·leetcode
_Coin_-32 分钟前
算法训练营DAY29 第八章 贪心算法 part02
算法·贪心算法
yt9483239 分钟前
C#实现CAN通讯接口
java·linux·前端
阿维同学41 分钟前
自动驾驶关键算法深度研究
人工智能·算法·自动驾驶
卷到起飞的数分42 分钟前
Java零基础笔记07(Java编程核心:面向对象编程 {类,static关键字})
java·开发语言·笔记
舌尖上的五香1 小时前
ThreadLocal、InheritableThreadLocal、TransmittableThreadLocal
java