Python 程序,用于查找在某些字母和 k 大小组合中获得字母“a”的概率

假设我们有一个包含 n 个不同英文字母的数组。我们还有另一个值 k。我们可以选择 k 个具有均匀分布的不同索引(1-indexed)。我们必须找到所选的 k 个索引中至少一个包含字母“a”的概率。

因此,如果输入类似于字母 = ['a', 'c', 'a', 'b', 'l', 'a', 'b', 'z'] k = 2,那么输出将为 64.28%。有像 (1, 2), (1, 3) 这样的组合,就像有 28 种组合,但其中一些像 (1,2), (1,3), (6,7) 这样的 18 对持有 7,所以18/28 = 0.6428。

示例

让我们看看以下实现以获得更好的理解 -

from itertools import combinations

def solve(letters, k):

   contain = 0

   total = 0

   for c in combinations(letters, k):

      if "a" in c:

         contain += 1

      total += 1

return contain/total

letters = ['a', 'c', 'a', 'b', 'l', 'a', 'b', 'z']

k = 2

print(solve(letters, k))

输入

['a', 'c', 'a', 'b', 'l', 'a', 'b', 'z'], 2
输出结果
0

以上是 Python 程序,用于查找在某些字母和 k 大小组合中获得字母“a”的概率 的全部内容, 来源链接: utcz.com/z/317229.html

回到顶部