是这样的,如果你玩过 dota2 的话,很简单一句话,n 个球的卡尔有多少个技能
没玩过的话,大概介绍一下,卡尔有三个球,冰球 Q,雷球 W,火球 E,不同的组合对应不同的技能 QQQ (极冷),QQW (峰哥漫步),QQE (冰墙),WWW (磁暴),WWQ (吹风),WWE (灵动迅捷),EEQ (火人),EEW (陨石),EEE (天火),QWE (推波)一共十个技能(不算天赋)
所以说如果卡尔有 4 个球,或者 n 个球,他会有几个技能呢
101
coderluan 2019-03-20 10:31:10 +08:00
@mingl0280 我说的很明白,我认为面试官不是想问你高中水平的数学,所以这题应该还要从编程实现的角度思考。O(1)只是拿公式算出总数,但是你想输出组合,光按公式就是个枚举,所以现实中的 permutation 库都不会用这种方式。
PS:你从这话能推理出我不懂高中数学,我倒是建议你建议下自己的语文水平, |
102
mxalbert1996 2019-03-20 11:13:34 +08:00 via Android
@coderluan 嗯,可能这个帖子里除了你之外的人学的都是假的语文吧。
|
104
coderluan 2019-03-20 11:55:19 +08:00
@mxalbert1996 可能我最开始表述会让人产生怀疑,所以我之后进行了解释,没人看(摊手),不想说带节奏跟风什么的,网络就这么回事,have a nice day.
|
105
newtype0092 2019-03-20 13:14:43 +08:00
@coderluan 自己不思考一下随便张口就来,你觉得对就对吧。
要是说带节奏,完全是你自己带起来的,一副众人皆醉的样子还强行解释真是尬的不行,也是网络给了你自信吧。。。 have a nice day. |
106
sr0miao 2019-03-20 14:11:39 +08:00
f(n) = C(1,n) + C(1,n) ( C(n-2,n-1) + C(n-3,n-1) + ... + C(n-m,n-1)) + C(n, n) if n>=2
|
107
lyl35023 2019-03-20 15:59:44 +08:00
峰哥漫步!!! ruaruarua !!!
|
108
king1101 2019-03-20 16:50:28 +08:00
@chenno9 #23 老哥,按照你的公式:
f(n)=c(1,n)*c(n-1,n-1)+c(2,n)*c(n-2,n-1)+c(3,n)*c(n-3,n-1)+...+c(n,n)*c(n-n,n-1) 能讲一下 4 个球的时候 c(2,4)*c(2,3)是怎么理解的吗,谢谢 |
109
chenno9 2019-03-20 17:25:02 +08:00 1
@king1101 c(2,4) 4 色取 2 色,6 种。c(1,3),4 个球分成 2 种颜色,相当于 4 个球排成一排在 3 个空隙中切一刀,前后不同色,3 种。应该是 32 楼的公式 f(x)=∑C(i,x)*C(i-1,x-1)(0<i<x),我的写反了
|
110
abelmakihara 2019-03-20 18:01:04 +08:00
还真有写程序写傻的了
每次看到那种能直接算的非得上代码模拟的智障就觉得无法沟通 你的代码写好了必然是等于数学计算的 复杂度还高 |
111
abelmakihara 2019-03-20 18:01:47 +08:00
@abelmakihara #110 尤其是各种概率问题高发
|
112
yananwang26 2019-03-20 21:55:42 +08:00 via Android
秀
|
113
cskeleton 2019-03-20 23:46:56 +08:00
@NBGGA #48 直接 5000 分以上优先多简单粗暴: https://www.v2ex.com/t/491597
|