📌  相关文章
📜  给定长度的二进制字符串的数量至少由1组成(1)

📅  最后修改于: 2023-12-03 15:11:40.808000             🧑  作者: Mango

给定长度的二进制字符串的数量至少由1组成

题意

给定一个正整数 $n$,求由 $n$ 个二进制数字组成的字符串中至少有一个1的字符串的数量。

解法

这是一道简单的组合问题。假设二进制串中有 $m$ 个1,则其余位置必须是0,因此数量就等价于选择 $m$ 个位置放1,剩余的位置放0 的方案数。根据组合的性质,方案数为 $C(n,m)$,所以只需要枚举 $m$ 的取值范围即可。

时间复杂度是 $O(n^2)$,可以通过此题。

代码
def find_num(n: int) -> int:
    res = 0
    for i in range(1, n+1):
        res += comb(n, i)
    return res
复杂度分析
  • 时间复杂度:$O(n^2)$
  • 空间复杂度:$O(1)$