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

微网站的建设模板有哪些/百度竞价开户渠道

微网站的建设模板有哪些,百度竞价开户渠道,个人购物网站 怎么建,微网站 pc端网站开发> Problem: 1493. 删掉一个元素以后全为 1 的最长子数组 1493. 删除一个元素以后全为1的最长子数组 - 题解 问题描述 给定一个二进制数组 nums,你需要从中删除一个元素。请你在删掉元素后返回最长的且只包含 1 的非空子数组的长度。如果不存在这样的子数组&…

> Problem: 1493. 删掉一个元素以后全为 1 的最长子数组

1493. 删除一个元素以后全为1的最长子数组 - 题解

问题描述

给定一个二进制数组 nums,你需要从中删除一个元素。请你在删掉元素后返回最长的且只包含 1 的非空子数组的长度。如果不存在这样的子数组,请返回 0

示例

  • 输入:nums = [1, 1, 0, 1]

    • 输出:3 (删除位置 2 的元素后,最长的子数组为 [1, 1, 1]
  • 输入:nums = [0, 1, 1, 1, 0, 1, 1, 0, 1]

    • 输出:5 (删除位置 4 的元素后,最长的子数组为 [1, 1, 1, 1, 1]

解题思路

为了找到删除一个元素后最长的全 1 子数组,我们可以使用滑动窗口的技术来高效地处理此问题。具体步骤如下:

  1. 定义变量

    • n:数组的大小。
    • ans:记录最长子数组的长度。
    • left:滑动窗口的左边界。
    • cnt:数组,cnt[0] 用于计数 0 的个数,cnt[1] 用于计数 1 的个数。
  2. 遍历数组

    • 使用 right 作为滑动窗口的右边界,遍历数组。
    • 每遇到一个 nums[right],更新计数器 cnt
  3. 调整窗口

    • 当窗口中 0 的数量大于 1 时,移动左边界 left,直到窗口中 0 的数量不超过 1
  4. 更新结果

    • 计算当前窗口的长度(right - left),并更新 ans
  5. 返回结果

    • 最后返回 ans,并注意要减去 1,因为我们删除了一个元素。

代码实现

以下是使用 C++ 实现的代码:

class Solution {
public:int longestSubarray(vector<int>& nums) {int n = nums.size(), ans = 0, left = 0;int cnt[2]{}; // cnt[0] 用于记录 0 的数量,cnt[1] 用于记录 1 的数量for (int right = 0; right < n; right++) {cnt[nums[right]]++; // 更新当前数字的计数// 调整窗口的左边界while (cnt[0] > 1) { // 如果 0 的数量超过 1cnt[nums[left++]]--; // 移动左指针,减少计数}ans = max(ans, right - left); // 更新找到的最大长度}return ans; // 返回结果}
};

复杂度分析

  • 时间复杂度O(n),每个元素最多被访问两次(一次由 right 指针,另一次由 left 指针)。
  • 空间复杂度O(1),只使用了常量空间来存储计数器 cnt

总结

本题的关键在于灵活使用滑动窗口来处理动态变化的子数组长度。在窗口调整过程中,需要合理管理 0 的数量,从而确保我们能在删除一个元素后找到最长的全 1 子数组。通过此解法,我们可以高效地解决问题并得到满意的结果。

http://www.fp688.cn/news/353.html

相关文章:

  • 学做的网站基础蛋糕/广告营销策划
  • 网站有哪些区别/深圳网站seo优化公司
  • 长沙网站建设260e/seo优化在线诊断
  • 男人最爱上的做网站/买卖链接网站
  • 中企动力邮箱登录首页/北京seo网络推广
  • 东莞公司网站策划/小红书关键词排名优化
  • 网站运营技术性高吗/项链seo关键词
  • d?t网站模版/怎样在百度上免费建网站
  • 盖州网站建设/什么是优化师
  • 做网站需要要多少钱/sem竞价托管价格
  • 网站制作优化全包/seo推广主要做什么
  • 公司网站建设的建议/有什么好的推广平台
  • 天津圣辉友联做网站/东莞网站推广哪里找
  • 架设网站需要什么/郑州短视频代运营
  • 个人博客网站制作搭建/快速整站排名seo教程
  • 企业网站php模板/优化公司排行榜
  • 信阳做网站 汉狮网络/优化方案电子版
  • 深圳网站建设公司乐云seo598/深圳百度
  • 企业网站需要备案吗/申请网址怎么申请的
  • 建设部网站官网注册监理工程师/聚名网域名注册
  • 小网站建设/seo流量增长策略
  • 做网站还是做淘宝/百度服务热线
  • 如何做品牌网站设计/免费网站在线观看人数在哪直播
  • 上海宝山做网站公司排名/百度ai助手入口
  • 做网站推广的方法/外贸seo网站
  • 安阳建设网站/app制作费用一览表
  • 做网站建设的网络公司经营范围怎样填/长治seo顾问
  • 设计师专用网站/推广赚钱一个50元
  • 私人接做网站违法么/武汉seo首页优化报价
  • 基于iview的网站开发模板/微信营销管理软件