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

西安竞价托管代运营seo优化网站模板

西安竞价托管代运营,seo优化网站模板,宣传网站制作,怎么办个人网站1.题目解析 题目来源:1567.乘积为正数的最长子数组——力扣 测试用例 2.算法原理 1.状态表示 因为数组中存在正数与负数,如果求乘积为正数的最长子数组,那么存在两种情况使得乘积为正数,第一种就是正数乘以正数,第…

1.题目解析 

题目来源:1567.乘积为正数的最长子数组——力扣 

测试用例 

2.算法原理

1.状态表示

因为数组中存在正数与负数,如果求乘积为正数的最长子数组,那么存在两种情况使得乘积为正数,第一种就是正数乘以正数,第二种就是负数乘以负数,那么就必须使用两个表来分别存储这两种情况,其中f表存储乘积为正数的子数组最长长度,g表存储乘积为负数的子数组最长长度

f[i]:以第i个位置为结尾的乘积为正数的子数组最长长度

g[i]:以第i个位置为结尾的乘积为负数的子数组最长长度

2.状态转移方程

当遇到的为正数,此时填两个表需要分别用到自己表的前一个位置的值,也就是

f[i]=f[i-1]+1;g[i]=g[i-1]==0?0:g[i-1]+1;这里特殊处理g表是因为当第i个位置之前乘积全为正数时g[i-1]=0,如果此时直接g[i]=g[i-1]+1则不符合实际情况

当遇到的为负数,此时填两个表需要用到对方表内的前一个位置的值,也就是

f[i]=g[i-1]==0?0:g[i-1]+1;g[i]=f[i-1]+1;这里以及特殊处理g[i-1]避免错误

3.初始化

由于填表需要用到前一个位置的值,所以可以开辟一个虚拟位置在循环内初始化两个表,此时需要处理虚拟位置的值,我们由状态转移方程可知在初始化第一个位置时用虚拟位置的值,此时虚拟位置的值为0不会影响结果,所以将虚拟位置置为0即可

4.填表顺序

从左到右,两个表一起填写

5.返回值

返回f表的最大值即可

3.实战代码

class Solution {
public:int getMaxLen(vector<int>& nums) {int n = nums.size();vector<int> f(n+1);vector<int> g(n+1);int ret = INT_MIN;for(int i = 1;i <= n;i++){if(nums[i-1] > 0){f[i] = f[i-1] + 1;g[i] = g[i-1] == 0 ? 0 : g[i-1] + 1;}if(nums[i-1] < 0){f[i] = g[i-1] == 0 ? 0 : g[i-1] + 1;g[i] = f[i-1] + 1;}ret = max(f[i],ret);}    return ret;}
};
http://www.yidumall.com/news/42075.html

相关文章:

  • 吐鲁番seo快速排名搜索引擎优化策略包括
  • 网站建设和网站运营包括什么淘宝推广引流方法有哪些
  • 去哪个网站做职业测试好友情链接交换
  • 织梦设置中英文网站seo自然排名优化
  • web服务器做网站最近中国新闻热点大事件
  • 网站建设服务 行业代码找谁做百度关键词排名
  • 耒阳做网站游戏推广赚钱
  • wordpress 添加字段杭州seo软件
  • 济南做网站公司xywlcn杭州网络整合营销公司
  • 网站建设学什么语言编辑好关键词优化包含
  • 网站设计动图怎么建设长沙seo代理
  • 一元夺宝网站建设地推拉新app推广接单平台
  • 做网站技术要求怎么写怎么去营销自己的产品
  • b2b网站排行微商怎么引流被加精准粉
  • 建站市场找小网站的关键词
  • dz可以做视频网站吗特色产品推广方案
  • 铺铺旺网站做多久了域名权重
  • 黄埔网站建设优化seo请输入搜索关键词
  • 汕头建站模板搭建爱站网seo查询
  • 网站开发文案天津seo招聘
  • 有网站源码 怎么建设网站logo设计
  • 易语言做钓鱼网站乔拓云网微信小程序制作
  • 怎样做网站操作向导seo报价单
  • 做销售用什么网站好今日头条新闻军事
  • 网站开发工资咋样优化外包服务公司
  • 网站app制作平台阿里云免费建站
  • 网站设配色2022最新小学生新闻
  • 网站死链接怎么处理进入百度网首页
  • 福州网站排名登录百度账号注册
  • 公司做网站注意事项软件开发公司网站