#3816. 练7-连续能量之翻转术
练7-连续能量之翻转术
🏫 兔猫信奥学院:连续能量之翻转术
在兔猫信奥学院的魔法课堂上,加菲老师为小兔和小猫布置了一项新的挑战。
他展示了一副神奇的二进制阵法,并说道:“同学们,这副阵法中,数字 1 表示强大的魔法能量,而 0 则代表微弱的符文。
如果你们能将最多翻转 个 0 为 1,从而使得阵法中连续出现的 1 的数量达到最大,你们就有望获得传说中的《能量秘典》!”
小兔和小猫摩拳擦掌,开始研究如何巧妙地翻转这些符文以获得最大的能量连击。请你帮助他们写出程序,实现这一神奇的翻转术,并返回操作后连续 1 的最大个数。
💡【题目描述】
给定一个二进制数组 nums 和一个整数 。如果最多可以翻转 个 0 为 1,请返回在执行操作后数组中连续 1 的最大个数。
进阶问题:如果输入的数字以“无限流”方式逐个输入,内存无法存储所有数字,你能设计出高效的解决方法吗?(本题仅要求实现离线版本)
📥【输入格式】
- 第一行包含一个整数 ,表示数组 nums 的长度。
- 第二行包含 个二进制数字(0 或 1),数字之间以空格分隔。
- 第三行包含一个整数 。
📤【输出格式】
- 输出一个整数,表示在至多翻转 个 0 的情况下,数组中连续 1 的最大个数。
📌【数据范围】
💡【输入输出样例】
样例输入 1
5
1 0 1 1 0
2
样例输出 1
4
解释:翻转数组中第 2 个位置的 0 可以得到连续 1 的序列 [1,1,1,1],长度为 4。
样例输入 2
6
1 0 1 1 0 1
1
样例输出 2
4