在Python中查找翻转k位后最长的1集合的长度
假设我们有一个二进制列表,在这里只有1和0可用,我们还有另一个数字k。我们最多可以将k个0设置为1,我们必须找到包含所有1的最长子列表的长度。
因此,如果输入是nums = [0,1,1,0,0,1,1] k = 2,则输出将为6,因为我们可以将中间的两个0设置为1,然后列表变为[0,1,1,1,1,1,1]。
为了解决这个问题,我们将按照以下步骤进行操作:
- 零 := 0,答案:= 0,j:= 0
- 对于nums中的每个索引i和值n,执行以下操作
- 零 := 零+(当n与0相同时为1,否则为0)
- 当零>k时,重复
- 零 := 零-(当nums [j]与0相同时为1,否则为0)
- j:= j + 1
- 如果i-j + 1>答案,则
- 答案:= i-j + 1
- 返回答案
下面是一个实现示例,以便更好地理解 –
更多Python相关文章,请阅读:Python 教程