facebook 面试题(1)

作者: zidea | 来源:发表于2018-12-15 19:03 被阅读10次

    今天给大家分享一个 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。我们寻找到一些规律,我们就可以用递归的方式来解决问题,通过一些特例,其实我们是在做概率,我们需要通过例举来获取所有可能的情况。好到这里吧,下次继续。

    相关文章

      网友评论

        本文标题:facebook 面试题(1)

        本文链接:https://www.haomeiwen.com/subject/ryeahqtx.html