项目github地址:bitcarmanlee easy-algorithm-interview-and-practice
欢迎大家star,留言,一起学习进步
记录一下排列组合中一些重要又常用的公式。
1.0!=10! = 10!=1
2.Pnm=n(n−1)(n−2)⋯(n−m+1)=n!(n−m)!P_n ^ m = n(n-1)(n-2)\cdots (n-m+1) = \frac{n!}{(n-m)!}Pnm=n(n−1)(n−2)⋯(n−m+1)=(n−m)!n!
3.pnn=n!=n(n−1)(n−2)⋯3⋅2⋅1p_n ^ n = n! = n(n-1)(n-2)\cdots 3\cdot 2 \cdot 1pnn=n!=n(n−1)(n−2)⋯3⋅2⋅1
0=Cnn=1C_n^0 = C_n^n = 1Cn0=Cnn=1
1=Cnn−1=nC_n ^ 1 = C_n ^ {n-1} = nCn1=Cnn−1=n
m=Pnmm!=n!m!(n−m)!C_n^m = \frac{P_n^m}{m!} = \frac{n!}{m!(n-m)!}Cnm=m!Pnm=m!(n−m)!n!
m=Cnn−mC_n^m = C_n^{n-m}Cnm=Cnn−m
+1m=Cnm+Cnm−1C_{n+1} ^ m = C_n^m + C_n ^ {m-1}Cn+1m=Cnm+Cnm−1
0+Cn1+Cn2+⋯+Cnn=2nC_n^0 + C_n^1 + C_n^2 + \cdots + C_n^n = 2^nCn0+Cn1+Cn2+⋯+Cnn=2n
0+Cn2+Cn4=Cn1+Cn3+Cn5=2n−1C_n^0 + C_n^2 + C_n^4 = C_n^1 + C_n^3 + C_n^5 = 2^{n-1}Cn0+Cn2+Cn4=Cn1+Cn3+Cn5=2n−1
其中,P是指排列,从N个元素中取M个进行排列。
C是指组合,从N个元素中取M个进行组合,不进行排列。