#3818. 练9-神奇阵法的完美调整

练9-神奇阵法的完美调整

🏫 兔猫信奥学院:神奇阵法的完美调整

在兔猫信奥学院的实验室中,加菲老师展示了一副神奇的二进制阵法。阵法由一串数字构成,其中数字 1 代表纯正的魔法能量,而 0 则代表杂质能量。加菲老师告诉小兔和小猫:“你们需要从这阵法中删掉一个数字,使得剩下的阵法中连续的纯能量(1)的长度达到最大,这可是破解能量符文秘密的关键!”

小兔和小猫立刻动手研究,想尽办法找出最佳删除方案。请你帮助他们编写程序,求出经过删掉一个数字后,能得到的最长且只包含 1 的连续子数组的长度。如果删除后不存在这样的子数组,则返回 0。


💡【题目描述】

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


📥【输入格式】

  • 第一行包含一个整数 nn,表示数组 nums 的长度。
  • 第二行包含 nn 个二进制数字(0 或 1),数字之间以空格分隔。

📤【输出格式】

  • 输出一个整数,表示删除一个元素后,数组中连续 1 的最大长度。

📌【数据范围】

  • 1n1051 \leq n \leq 10^5
  • nums[i]{0,1}nums[i] \in \{0, 1\}

💡【输入输出样例】

样例输入 1

4
1 1 0 1

样例输出 1

3

解释:删除第 3 个位置的 0 后,数组变为 [1,1,1],连续 1 的最大长度为 3。


样例输入 2

9
0 1 1 1 0 1 1 0 1

样例输出 2

5

解释:删除第 5 个位置的 0 后,数组变为 [0,1,1,1,1,1,0,1],最长连续 1 的子数组为 [1,1,1,1,1],长度为 5。


样例输入 3

3
1 1 1

样例输出 3

2

解释:必须删除一个元素,即使数组全部为 1,删除任意一个后,剩下的连续 1 的最大长度为 2。