facebook 面试题(1)
图
今天给大家分享一个 facebook 的面试题,让您理解如何进入像 facebook 这样的国际大公司。我们只有理解才有机会,机会只有小概率和大概率。我想说的是我们不要轻言放弃,有了方向就要不轻言放弃。但是成功不仅只靠努力,我们也需要天赋。呵呵,说的有点绕,关键就是… 随机应变。
图
我们看一看问题,问题来了,我们将字母与数字建立关系,a 对应数字 1 ,b 对应数字 2 依次类推 z 对应 26。ab 对应 12 ,这个就不解释了吧,要是不了解,就去深山再练一练吧。假如我们数据 data = 12。12 对应字母可能是 ab 也可能是 l,由于 l 也对应数字 12。我们问题来了写一个算法,算法输入为数字,输入是这个数字对应字母组合可能有几种?
图
我们通过特例来反推一般,这是我们人类的一种认识,学习方法。方法很重要。这里建立方程输入为数字 3.
图
3 输入后,输出为 c。3 只有一种可能,对应字母 c。所以我们得出输出为 1 ,代表一种可能。
图
还有一种特例,就是输入空,空是一个很重要的概念。空的输入也是唯一的空,所以 num_ways 返回值也是 1。
图
图
我们这次来看一看相对复杂的数字 12345 ,看一看他输出是几。
图
我们从头开始分析,先取一位数字这里是 1 对应是字母 a 。
图
图
图
假如我们取前两位数字即可能为 l。假如取前三位应该就没有对应数字了。
图
而后我们排除已经分析完的,将剩余的数字作为整体重复上面的分析。
图
我们随便地拿出一个数字 27345 看一看,如何分析,第一个数字为 2 ,对应字母为 b,而后 27 呢,27 是没有对应的字母了,所以就没有必要取 27。
图
假如第一个数字是 0, 0 并不存在对应的字母,所以输出为 0。我们寻觅到少量规律,我们即可以用递归的方式来处理问题,通过少量特例,其实我们是在做概率,我们需要通过例举来获取所有可能的情况。好到这里吧,下次继续。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » facebook 面试题(1)