Pythonで式の結果の最大発生頻度値の期待値を見つけるプログラム
M個の異なる式があり、これらの式の答えが1からN(両方を含む)の範囲にあると仮定します。したがって、1からNの範囲の各iについてx =max(f(i))を検討すると、期待値を見つける必要があります。 xの。
したがって、入力がM =3、N =3の場合、出力は2.2になります。これは、
シーケンス | 最大頻度 |
---|---|
111 | 3 |
112 | 2 |
113 | 2 |
122 | 2 |
123 | 1 |
133 | 1 |
222 | 3 |
223 | 2 |
233 | 2 |
333 | 3 |
$$ E(x)=\ sum P(x)* x =P(1)+ 2P(2)+ 3P(3)=\ frac {1} {10} + 2 * \ frac {6} {10} + 3 * \ frac {3} {10} =\ frac {22} {10} $$
これを解決するには、次の手順に従います-
- 組み合わせ:=新しいマップ
- 関数nCr()を定義します。これにはn、k_inが必要です
- k:=最小のk_inおよび(n-k_in)
- n
- 0を返す
- 組み合わせを返す[n、k]
- 1を返す
- 1を返す
- a:=1
- 0〜k-1の範囲のcntの場合、do
- a:=a *(n --cnt)
- a:=a /(cnt + 1)のフロア
- 組み合わせ[n、cnt + 1]:=a
- 返品
- a:=1
- s:=0
- 0からM/k + 2のフロアまでの範囲のiについては、
- M
- ループから抜け出す
- M
- s:=s + a * nCr(N、i)* nCr(N-1 + M-i * k、M-i * k)
- a:=-a
例
理解を深めるために、次の実装を見てみましょう-
combination = {} def nCr(n, k_in): k = min(k_in, n - k_in) if n < k or k < 0: return 0 elif (n, k) in combination: return combination[(n, k)] elif k == 0: return 1 elif n == k: return 1 else: a = 1 for cnt in range(k): a *= (n - cnt) a //= (cnt + 1) combination[(n, cnt + 1)] = a return a def solve(M, N): arr = [] for k in range(2, M + 2): a = 1 s = 0 for i in range(M // k + 2): if (M < i * k): break s += a * nCr(N, i) * nCr(N - 1 + M - i * k, M - i * k) a *= -1 arr.append(s) total = arr[-1] diff = [arr[0]] + [arr[cnt + 1] - arr[cnt] for cnt in range(M - 1)] output = sum(diff[cnt] * (cnt + 1) / total for cnt in range(M)) return output M = 3 N = 3 print(solve(M, N))
入力
3, 3
出力
1
-
Pythonでの頻度と同じ値を持つリスト内の要素を検索するプログラム
numsという数値のリストがあるとすると、リスト内の頻度がその値と同じである要素があるかどうかを確認する必要があります。 したがって、入力が[2、4、8、10、4、4、4]の場合、出力はTrueになります これを解決するには、次の手順に従います- res:=値ごとの頻度を保存するための新しいマップ resのキーと値のペア(k、v)ごとに、を実行します。 kがvと同じ場合、 Trueを返す Falseを返す 理解を深めるために、次の実装を見てみましょう- 例 class Solution: def solve(self, nums):  
-
辞書で2番目に大きい値を見つけるPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 − 2つの整数が与えられているので、辞書に2番目に大きい値を出力する必要があります それでは、以下の実装の概念を見てみましょう- アプローチ1-負のインデックスによるsorted()関数の使用 例 #input example_dict ={"tutor":3, "tutorials":15, "point":9,"tutorialspoint":19} # sorting the given list and get the