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

asp化妆品网站源码吉林seo基础

asp化妆品网站源码,吉林seo基础,智能建站软件哪个好,像京东一样的网站152. 乘积最大子数组 这道题的解法和思想和之前的一道题目非常相像,详情可见 数组题解——​最大子数组和​【LeetCode】(更新版)_leetcode 最大子数组-CSDN博客 一、算法逻辑(逐步思路) ❓ 题目描述: …

152. 乘积最大子数组

这道题的解法和思想和之前的一道题目非常相像,详情可见

数组题解——​最大子数组和​【LeetCode】(更新版)_leetcode 最大子数组-CSDN博客


一、算法逻辑(逐步思路)

❓ 题目描述:

给定一个整数数组 nums,找出一个连续子数组,使得乘积最大,返回这个最大乘积。


✅ 解题思路(动态规划)

1. 为什么需要同时维护最大值和最小值?
  • 因为数组中可能有 负数,当两个负数相乘时会变成正数;
  • 所以我们在每个位置都要维护两个状态:
    • f_max:以当前元素结尾的子数组的最大乘积;
    • f_min:以当前元素结尾的子数组的最小乘积。
2. 状态转移逻辑:

对当前元素 x,新的最大值和最小值可能由以下三者中的任一项决定:

  • f_max * x(当前数乘上之前的最大乘积);
  • f_min * x(当前数乘上之前的最小乘积 → 负数翻转变大);
  • x 本身(新起一个子数组);

所以转移写法为:

f_max, f_min = max(f_max * x, f_min * x, x), min(f_max * x, f_min * x, x)
3. 答案更新:

每次迭代后,用 ans = max(ans, f_max) 更新全局最大乘积。

4. 初始值设置:
  • ans = -inf:防止全是负数或只有一个负数的情况;
  • f_max = f_min = 1:初始乘积不影响第一位(或者你也可以初始化为 nums[0] 后从 nums[1:] 开始遍历)。

二、算法核心点

✅ 核心思想:乘积型动态规划 + 同时维护最大/最小子状态

  • 因为负数存在“翻转符号”的作用,所以不能只维护最大乘积;
  • 每一步都要考虑“以当前元素结尾”的最大/最小子数组;
  • 类似于“滑动窗口动态规划”,但只保留一对值来优化空间。
class Solution:def maxProduct(self, nums: List[int]) -> int:ans = -inff_max = f_min = 1for x in nums:f_max, f_min = max(f_max*x, f_min*x, x), min(f_max*x, f_min*x, x)ans = max(ans, f_max)return ans

三、复杂度分析

  • 时间复杂度:O(n)
    • 只遍历一遍数组,每次做常数次运算。
  • 空间复杂度:O(1)
    • 只使用常数个变量(f_maxf_minans),无额外空间开销。

总结表:

维度

内容

✅ 思路逻辑

遍历数组时维护以当前位置结尾的最大/最小乘积,更新全局最大值

✅ 核心技巧

负数会导致最大最小翻转,必须同时维护最大值和最小值

✅ 时间复杂度

O(n) 一次遍历

✅ 空间复杂度

O(1) 使用常数变量优化


✅ 举个例子帮助理解:

输入:nums = [2, 3, -2, 4]

i

x

f_max

f_min

ans

0

2

max(2,2,2)=2

min(2,2,2)=2

2

1

3

max(6,6,3)=6

min(3,3,3)=3

6

2

-2

max(-12,-6,-2)= -2

min(-12,-6,-2)=-12

6

3

4

max(-8,-48,4)=4

min(-8,-48,4)=-48

6

最终结果是 6,即子数组 [2,3] 的乘积。

http://www.dtcms.com/wzjs/295281.html

相关文章:

  • 做网站的品牌公司购物网站页面设计
  • 有没有只做软装方案收设计费的网站智能优化网站
  • flash网站设计教程友情链接检查
  • 西安市建设局网站代做百度首页排名
  • 网站建设太金手指六六二五好用吗
  • 网站全局搜索如何做html网页制作网站
  • 手机网站报价单模板下载电商代运营公司100强
  • php mysql开发网站开发在线超级外链工具
  • 哪个网站上做ppt比较好看百度热搜榜今日头条排名
  • 手机商城oppo重庆seo俱乐部联系方式
  • 河南高端网站高端网站建设武汉官网优化公司
  • 删除网站栏目营销网站定制公司
  • 大型网站开发语言广州seo优化费用
  • 查企业资质上什么网站百度移动端模拟点击排名
  • 网站设计与制作说明seo建站系统
  • 烟台百度网站建设推广外贸网站建设平台
  • 成都青白江网站建设太原seo排名
  • 东莞企业网站设计排名百度seo排名培训
  • 怎么知道一个网站是哪家公司做的今日头条军事新闻
  • 免费养殖网站模板长沙网络推广软件
  • 网站开发和推广的不同关键词投放
  • 广州建网站的网络公司网络营销方案总结
  • vps自带ie浏览器不能访问网站营销工具
  • 网站支持ipv6怎么做获取排名
  • 游戏网站 模板收录查询站长工具
  • 翻译网站平台建设常德网站建设公司
  • 记事本做网站格式新闻网站排行榜
  • 没认证的网站做黄站百度手机下载安装
  • win7 iis asp网站配置文件东莞网站排名提升
  • 做昆特牌的网站网络营销站点推广的方法