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


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

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

要解决此问题,我们将遵循以下步骤 -

  • total := nums 中所有元素的总和
  • total := total + nums 的大小 - 1
  • 当总计与 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

更新于: 2020-12-30

96 浏览量

开始你的 职业

完成课程后获得认证

开始
广告
© . All rights reserved.