当前位置: 首页 > 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.hkea.cn/news/956300/

相关文章:

  • wordpress内容主题模板网络网站推广选择乐云seo
  • 电子元器件商城网站建设百度开户怎么开
  • 企业网站开发基本流程百度博客收录提交入口
  • 甘特图模板关于网站建设微信营销模式
  • 网站建设的swot分析长尾关键词挖掘精灵
  • 发布自己的做家教的网站网店运营推广登录入口
  • b s网站系统如何做性能测试百度推广运营怎么做
  • 洛阳seo外包公司费用seo的中文意思
  • 政府网站建设遵循的原则seo网站内容优化
  • java做网站具体步骤邵阳seo优化
  • 自己做的网站如何放进服务器今天今日头条新闻
  • 男装网站的网站建设背景惠州seo按天计费
  • 如何快速提高网站排名互联网项目推广
  • icp备案网站名称更改成都网站设计
  • 企业网站建设需求分析seo排名资源
  • python基础教程雪峰东莞搜索seo网站关键词优化
  • b2b网站开发供应商小程序开发教程全集免费
  • 用自己的手机做网站外链网站是什么
  • 市场调研公司介绍网站推广优化公司
  • 玉溪人民政府网站建设现状新网站seo
  • 湖南餐饮网站建设2023北京封控了
  • 重庆网站设计人员外贸网站搭建推广
  • 局域网内的网站建设西安网站建设公司排名
  • 普通网站报价多少中南建设集团有限公司
  • 蚌埠做网站哪家好全网营销国际系统
  • 沈阳市网站制作谷歌香港google搜索引擎入口
  • 做美食网站的背景高端网站建设制作
  • 文件什么上传到wordpress泉州seo技术
  • 网站地址地图怎么做网页制作的软件有哪些
  • 如何用万网建设网站口碑营销策划方案