前两天看到一道小米的面试题

2019-03-19 10:33:27 +08:00
 mskf

是这样的,如果你玩过 dota2 的话,很简单一句话,n 个球的卡尔有多少个技能

没玩过的话,大概介绍一下,卡尔有三个球,冰球 Q,雷球 W,火球 E,不同的组合对应不同的技能 QQQ (极冷),QQW (峰哥漫步),QQE (冰墙),WWW (磁暴),WWQ (吹风),WWE (灵动迅捷),EEQ (火人),EEW (陨石),EEE (天火),QWE (推波)一共十个技能(不算天赋)

所以说如果卡尔有 4 个球,或者 n 个球,他会有几个技能呢

16218 次点击
所在节点    职场话题
113 条回复
coderluan
2019-03-20 10:31:10 +08:00
@mingl0280 我说的很明白,我认为面试官不是想问你高中水平的数学,所以这题应该还要从编程实现的角度思考。O(1)只是拿公式算出总数,但是你想输出组合,光按公式就是个枚举,所以现实中的 permutation 库都不会用这种方式。

PS:你从这话能推理出我不懂高中数学,我倒是建议你建议下自己的语文水平,
mxalbert1996
2019-03-20 11:13:34 +08:00
@coderluan 嗯,可能这个帖子里除了你之外的人学的都是假的语文吧。
gavindexu
2019-03-20 11:15:21 +08:00
@yhxx 不一样,
我先抽你两鞭子再吊起来;
我先吊起来你再抽两鞭子。
coderluan
2019-03-20 11:55:19 +08:00
@mxalbert1996 可能我最开始表述会让人产生怀疑,所以我之后进行了解释,没人看(摊手),不想说带节奏跟风什么的,网络就这么回事,have a nice day.
newtype0092
2019-03-20 13:14:43 +08:00
@coderluan 自己不思考一下随便张口就来,你觉得对就对吧。
要是说带节奏,完全是你自己带起来的,一副众人皆醉的样子还强行解释真是尬的不行,也是网络给了你自信吧。。。
have a nice day.
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
lyl35023
2019-03-20 15:59:44 +08:00
峰哥漫步!!! ruaruarua !!!
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)是怎么理解的吗,谢谢
chenno9
2019-03-20 17:25:02 +08:00
@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),我的写反了
abelmakihara
2019-03-20 18:01:04 +08:00
还真有写程序写傻的了
每次看到那种能直接算的非得上代码模拟的智障就觉得无法沟通
你的代码写好了必然是等于数学计算的 复杂度还高
abelmakihara
2019-03-20 18:01:47 +08:00
@abelmakihara #110 尤其是各种概率问题高发
yananwang26
2019-03-20 21:55:42 +08:00
cskeleton
2019-03-20 23:46:56 +08:00
@NBGGA #48 直接 5000 分以上优先多简单粗暴: https://www.v2ex.com/t/491597

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/546059

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX