页面加载中…
通过率 65% · 提交 153 · 通过 99
在魔法王国的数据塔中,有一段由 组成的字符串,每个字符要么是 `0`,要么是 `1`。你的目标是通过一个 让某种 目标魔法值 `target`(`0` 或 `1`)在魔法流中形成尽可能长的连续区域。 反转操作 定义为:将魔法流中的一个 `0` 改为 `1` 或将一个 `1` 改为 `0`。 请你计算在最多执行一次反转操作后,。 输入:输入共两行: 1. 第一行输入一个整数 `target`,表示目标魔法值,取值为 `0` 或 `1`。 2. 第二行输入一个长度为 `length` 的二进制字符串 `bits`,每个字符为 `0` 或 `1`,满足 1 ≤ length ≤ 10,000。 输出:输出一个整数,表示通过最多一次反转操作后,目标值的最大连续长度。
这类题属于华为可信认证科目一方向中「双指针 / 可信」方向的高频题型,通常考察对「双指针 / 可信」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
提示:带虚线的词点一下有通俗解释。
输入共两行:
target,表示目标魔法值,取值为 0 或 1。length 的二进制字符串 bits,每个字符为 0 或 1,满足 1 ≤ length ≤ 10,000。输出一个整数,表示通过最多一次反转操作后,目标值的最大连续长度。
示例 1
输入示例
1 1011010111
输出示例
5
0 反转为 1,使得字符串变为 1011011111。1 的最长连续区域为 11111,长度为 5。示例 2
输入示例
0 10101
输出示例
3
1 反转为 0,使得字符串变为 10001。0 的最长连续区域为 000,长度为 3。时间限制 1000 ms · 内存限制 128 MB
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有