我有一个位串,如下所示:
这是我的代码:
我有点能够“黑客式”地绕过去填充“left”字典,但填充“right”字典是个问题。
1101100111
,我想构建一个字典,记录任何零左侧和右侧的一的数量,例如:
left = {2: 2, 5: 2, 6: 0}, right = {2: 2, 5: 0, 6: 3}
在这些字典中,键是索引,值是一的数量。
在索引2处,左侧有2个1,右侧也有2个1。
在索引5处,左侧有2个1,右侧没有1。
在索引6处,左侧没有1,右侧有3个1。这是我的代码:
left, right, zeroes = {}, {}, []
last_zero, last_one = 0, 0
for i, v in enumerate(nums):
if v == 0:
left[i] = i - last_zero
last_zero = i + 1
zeroes.append(i)
else:
last_one = i
print('left', left)
print('right', right)
我有点能够“黑客式”地绕过去填充“left”字典,但填充“right”字典是个问题。
nums[::-1]
上运行它以得到右边... - juanpa.arrivillaga{2: 5, 5: 3, 6: 3}
吗? - miradulostr.split()
来简化循环中的一些复杂度。 - Niayesh Isky