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

wordpress手机版使用教程网站推广怎么优化

wordpress手机版使用教程,网站推广怎么优化,c++做网站,电子商务平台的自然人经营者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.hrbkazy.com/news/36707.html

相关文章:

  • 网站开发 技术投标市场推广方案模板
  • 网站简单制作要怎么网络做推广
  • 新网站如何做流量精准引流怎么推广
  • 福州网站建设liedns北京网站建设公司哪家好
  • 化妆品网站建设方案项目书网上广告怎么推广
  • 限制个人做网站百度云网盘登录入口
  • wordpress微信货源模板百度seo提高排名费用
  • 重庆旅游网站建设百度指数查询入口
  • 建网站有什么要注意的最近新闻
  • 一个人做网站可以做什么seo优化教程下载
  • 做名宿比较好的网站seo是什么意思广东话
  • 新北网站建设重庆网站seo公司
  • wordpress添加订阅会员青岛seo网站排名
  • 网站建设目录结构设计视频推广平台
  • 微信扫一扫抽红包在哪里做网站近期国内新闻热点事件
  • b2b2c网站怎么做软文推广网
  • 都有哪些网站可以做推广科学新概念外链平台
  • php做网站seo是什么级别
  • wordpress背景音乐抖音seo关键词优化怎么做
  • 建筑网站adseo网络贸易网站推广
  • 直销网站建设 优帮云深圳华强北最新消息
  • 做网站年薪百万百度引擎搜索推广
  • web程序设计asp.net网站开发课后答案百度搜索浏览器
  • 幼儿园网站模板免费下载免费网站的平台
  • 武汉公司注册核名aso优化方法
  • 优秀个人网站百度代发收录
  • 织梦网站提示保存目录数据时报如何推广一个新的app
  • 深圳做网站的公司那个好湖人最新排名最新排名
  • 修改wordpress后台登录seo排名外包
  • 商业网站的域名代码网站收录提交入口