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

帝国和织梦那个做企业网站好网站建设公司文案

帝国和织梦那个做企业网站好,网站建设公司文案,汕头网站设计开发,电子商务网站建设和技术现状问题描述 给定一个整数数组 nums,找出乘积为正数的最长子数组的长度。这里的子数组定义为连续元素的序列,乘积为正数指子数组中正数的个数必须大于负数的个数。 解题思路 为了解决这个问题,我们可以使用两个数组 f 和 g 分别表示以当前位置…

问题描述

给定一个整数数组 nums,找出乘积为正数的最长子数组的长度。这里的子数组定义为连续元素的序列,乘积为正数指子数组中正数的个数必须大于负数的个数。

解题思路

为了解决这个问题,我们可以使用两个数组 fg 分别表示以当前位置结尾的乘积为正数和乘积为负数的最长子数组长度。

  1. 状态表示

    • f[i]:以 i 位置结尾的乘积为正数的最长子数组长度。
    • g[i]:以 i 位置结尾的乘积为负数的最长子数组长度。
  2. 状态转移方程

    • 当 nums[i] > 0 时:
      • f[i] = f[i-1] + 1
      • g[i] = g[i-1] != 0 ? g[i-1] + 1 : 0
    • 当 nums[i] < 0 时:
      • f[i] = g[i-1] != 0 ? g[i-1] + 1 : 0
      • g[i] = f[i-1] + 1
    • 当 nums[i] == 0 时:
      • 直接令 f[i] = g[i] = 0,因为乘积为零无法满足乘积为正数的条件。
  3. 初始化

    • 初始时,f[0] = g[0] = 0,表示在开始处没有乘积为正数或负数的子数组。
  4. 填表顺序

    • 从数组的第一个元素开始遍历到最后一个元素,依次更新 f[i] 和 g[i] 的值。
  5. 返回值

    • 最终结果为 f 数组中的最大值,即乘积为正数的最长子数组长度。
Java 代码实现

 

package study1.day12;
/*
* 力扣1567 返回乘积为正数的最长子数组
*           思路分析:
*               1.状态表示 f[i]以i位置结尾的积为正数最长的子数组
*                         g[i]以i位置结尾的积为负数最长的子数组
*               2.状态转移方程 f[i] = f[i - 1] + 1  nums[i]为正数 g[i - 1] + 1 nums[i]为负数(== 0 不可)
*                            g[i] = f[i - 1] + 1  nums[i]为负数 f[i - 1] + 1 nums[i]为正数(== 0 不可)
*               3.初始化 任何数 + 0 = 任何数 所以f[0] = g[0] = 0 即可
*               4.填表顺序 正常
*               5.返回值 f[i]中的最大值
*
* */
public class test6 {public int getMaxLen(int[] nums) {//本题先讲我的错误思路:  我没有分析 == 0不可就导致全盘皆输 因为(全为正遇见负f[i]归 0)//我的思维漏洞就是我的想法就是错的,我认为f[i]是保存前面的最大长度(不是以i结尾是全部)这就是我的错误点//记住你:一定要紧跟状态转移方程int n = nums.length;//1.创建f g数组记录历史记录int[] f = new int[n + 1];int[] g = new int[n + 1];//2.初始化f[0] = g[0] = 0;//默认值可以填可以不填int ret = 0;//3.填表for (int i = 1; i <= n; i++) {//这里 == 0的情况没有考虑直接让值 = 0即可int x = f[i - 1] + 1;int y = g[i - 1] + 1;if (nums[i - 1] > 0){f[i] = x;g[i] = g[i - 1] != 0 ? y : 0;} else if (nums[i - 1] < 0) {f[i] = g[i - 1] != 0 ? y : 0;g[i] = x;}ret = Math.max(ret,f[i]);}return ret;}
}

http://www.yayakq.cn/news/530966/

相关文章:

  • 购物网站风格上海设计网站大全
  • 网站后门怎么去除国家企业公示系统官网查询
  • 怎么做根优酷差不多的网站丹徒网站
  • 做网站需要架构师吗大良营销网站建设信息
  • 中山做网站建设联系电话玄武模板网站制作点击查看
  • 网站开发用什么写得比较好网站开发好做还是平面好做
  • 上海建工网站南京博学建设集团网站
  • 网站开发标书做我韩国连续剧网站
  • 广州网站建设 易企建站网站开发流程博客
  • 企业展示网站开发wordpress 文章格式化
  • 金融企业网站建设公司wordpress 导入幻灯片
  • 产地证哪个网站做舆情监测
  • 有哪些好的做兼职网站有哪些做新媒体和网站
  • 注册域名 不建网站官网seo是什么
  • 网站模版下载网络营销 企业网站
  • 建设部招标网 官方网站手机商城+手机网站建设多少钱
  • 洛阳网站建设 恒凯科技襄阳最新消息
  • 织梦网站程序模板无锡网站建设 app 微信
  • 用插件做的炫酷网站网站制作资质
  • 电子招标投标平台网站建设wordPress登不上数据库
  • 大型营销型网站建设舟山建设银行纪念币预约网站
  • 知页怎么转换wordpress我们做的网站是优化型结构
  • 网站模版建站wordpress菜单图标美化
  • 医院网站建设安全协议深圳 网页设计公司
  • 哪些网站可以做平面设计挣钱中国电力建设协会网站
  • 做服装必须看的十大网站杭州软件开发培训学校
  • 广西 网站开发前端简历
  • 中国好公司网站建设网站正在建设中 模板 下载
  • 建设企业银行网站哪里有做设备的
  • 网页设计制作网站模板图片wordpress修改头像