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

中国优秀网站建设官网网站建设在淘宝上以后让还让发布吗

中国优秀网站建设官网,网站建设在淘宝上以后让还让发布吗,做网站时空间的选择,中华设计论坛文章目录 一、题目二、思路三、代码 一、题目 二、思路 (0)读懂题意:题目的“连续”是指位置的连续,而不是说数字的连续,这是个大坑。 (1)确定状态:定义两个状态来记录当前子数组的…

文章目录

  • 一、题目
  • 二、思路
  • 三、代码

一、题目

在这里插入图片描述

二、思路

(0)读懂题意:题目的“连续”是指位置的连续,而不是说数字的连续,这是个大坑。

(1)确定状态:定义两个状态来记录当前子数组的最大乘积、最小乘积。因为在处理负数时,最小乘积乘以负数可能变为最大乘积。dp_max[i]表示以nums[i]结尾的子数组的最大乘积、dp_min[i]表示以nums[i]结尾的子数组的最小乘积。

(2)状态转移方程:对于每个元素nums[i],我们的dp_max[i]dp_min[i]可以从这三个数中确定:

  • 只包含当前元素 nums[i]
  • 当前元素与之前的最大乘积子数组乘积,即 dp_max[i-1] * nums[i]
  • 当前元素与之前的最小乘积子数组乘积,即 dp_min[i-1] * nums[i]

即状态转移方程可表示为:

dp_max[i] = max(nums[i], dp_max[i-1] * nums[i], dp_min[i-1] * nums[i])
dp_min[i] = min(nums[i], dp_max[i-1] * nums[i], dp_min[i-1] * nums[i])

(3)初始状态+边界条件:以第一个元素结尾的子数组最大乘积就是它本身、以第一个元素结尾的子数组最小乘积就是它本身、初始乘积最大结果为第一个元素。

(4)遍历顺序:从左到右遍历数组。

三、代码

(方法一)按照思路的代码如下,时间复杂度为O(n),空间复杂度为O(n)。

class Solution(object):def maxProduct(self, nums):""":type nums: List[int]:rtype: int"""if len(nums) == 0:return 0if len(nums) == 1:return nums[0]# 初始化数组n = len(nums)dp_max = [0] * n dp_min = [0] * n# 初始状态dp_max[0] = nums[0]dp_min[0] = nums[0]cheng_ans = nums[0]# 从第二个元素开始遍历for i in range(1, n):num = nums[i]dp_max[i] = max(num, dp_max[i-1]*num, dp_min[i-1]*num)dp_min[i] = min(num, dp_max[i-1]*num, dp_min[i-1]*num)cheng_ans = max(cheng_ans, dp_max[i])return cheng_ans

(方法二)为了优化空间复杂度,发现每次当前只利用前一次状态,所以dp_maxdp_min没必要单独用两个数组记录所有的状态。但注意在计算状态转移方程时,分别计算dp_max和dp_min都会用到上一次的dp_max和dp_min,这为了用错dp_mxn,可以直接对num确保是正数后,交换dp_max和dp_min的位置,减少max和min函数的入参个数。

class Solution(object):def maxProduct(self, nums):""":type nums: List[int]:rtype: int"""if len(nums) == 0:return 0if len(nums) == 1:return nums[0]# 初始化数组n = len(nums)# 初始状态dp_max = nums[0]dp_min = nums[0]cheng_ans = nums[0]# 从第二个元素开始遍历for i in range(1, n):num = nums[i]if num < 0:dp_max, dp_min = dp_min, dp_maxdp_max = max(num, dp_max*num)dp_min = min(num, dp_min*num)cheng_ans = max(cheng_ans, dp_max)return cheng_ans
http://www.yayakq.cn/news/925344/

相关文章:

  • 新乡网站建设费用维护一个网站难吗
  • 网站开发制作全包东莞网站开发推荐
  • 厦门网站建设培训学校某网站seo策划方案
  • 网站首页背景图片3d效果图设计制作软件
  • 网站安全管理制度优化什么建立生育支持政策体系降低生育养育教育成本
  • 永嘉网站制作当前网站开发的现状
  • 自己的商品链接怎么弄西安网站优化指导
  • 杭州做商业地产开什么网站好谷歌关键词搜索工具
  • 济宁网页设计外贸网站优化排名
  • 芜湖网站建设芜湖微网站和手机网站
  • 公司网站建设内容在家开网店怎么开
  • 做建筑设计的网站推荐电商网站制作公司
  • 花都建网站公司wordpress图片介绍
  • 烟台市最好的专业做网站的公司福州网站建设名列前茅
  • 爱站关键词挖掘大型手机网站制作
  • 别人带做的网站关闭了权限咋办教育发展基金会网站建设
  • 网上商城网站建设方案书一流的品牌网站建设
  • asp+sql server典型网站建设案例wordpress自动标签页
  • 兰坪建设公司网站竞价恶意点击器
  • 提供家居企业网站建设中咨工程咨询有限公司
  • 网站建设维护的相关基本知识营销公司有哪些
  • 网站设计定制公司企业站seo报价
  • 怎么样做网站页面在网站上做招聘版面
  • 深圳建站公司外贸网站建设服务平台
  • 做网站去哪里做好做物流网站的公司
  • 桂林网站建设桂林嵌入式软件工程师待遇
  • 企业网站静态模板下载自己制作网页链接的软件
  • 自己怎么做dj 视频网站苏州网站建设上往建站
  • 杭州手机网站建设公司 网络服务建设银行怎么加入信用网站
  • 网站做指向是什么意思邢台专业网站建设报价