力扣动态规划-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;
        }
}

后言

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

相关推荐
wewowilling2 小时前
认识微服务
java·运维·微服务·springcloud
代码什么用2 小时前
Java Web 7-10
java·servlet
没有钱的钱仔2 小时前
协方差矩阵含义
算法·机器学习·矩阵
垆边人似月.2 小时前
华为机试题 :和为 K 的子数组个数
算法·leetcode·华为
三*一2 小时前
优化修整算法
前端·javascript·算法
达子6663 小时前
RUST 图解 第 3 章:通用编程概念(Common Programming Concepts)
开发语言·算法·rust
夏幻灵3 小时前
每日一题:LeetCode 165:比较版本号
算法·leetcode·职场和发展
道尔柯南3 小时前
C++ 面向对象编程入门:类和对象(上)
开发语言·c++·算法
Navigator_Z3 小时前
LeetCode //C - 1288. Remove Covered Intervals
c语言·算法·leetcode
蜗牛互联网3 小时前
GPT-6 与 Intelligent UI:从回答到可审计操作的产品迁移
java·人工智能·后端