检查编码是否代表Python中唯一的二进制字符串

假设我们有一个名为nums的数组表示大小为k的二进制字符串的编码,我们必须检查给定的编码是否唯一地找到了二进制字符串。在此,编码具有由单个0分隔的连续1计数。

因此,如果输入类似于nums = [4,2,3] k = 11,则输出将为True,因为存在二进制字符串,如11110110111,k = 11。

为了解决这个问题,我们将遵循以下步骤-

  • 总计:=所有元素的总和

  • 总数:=总数+ nums的大小-1

  • 当total与k相同时返回true,否则返回false

让我们看下面的实现以更好地理解-

示例

def solve(nums, k):
   total = sum(nums)   total += len(nums) - 1
   return total == k
nums = [4, 2, 3]
k = 11
print(solve(nums, k))

输入值

[4, 2, 3], 11
输出结果
True

猜你喜欢