大佬们的面筋

2019-10-10  本文已影响0人  一个想当大佬的菜鸡

【腾讯】0.99的100次方是多少?

\lim_{n\rightarrow \infty }\left ( 1-\frac{1}{n} \right )^{n}=\frac{1}{e}

【腾讯】三个骰子,选一个数,一个没猜对-1,猜对1个+1,猜对2个+2,猜对3个+3,求期望

\frac{5}{6}\times \frac{5}{6}\times \frac{5}{6}\times \left ( -1 \right )+\frac{5}{6}\times \frac{5}{6}\times \frac{1}{6}\times 3+\frac{5}{6}\times \frac{1}{6}\times \frac{1}{6}\times 3 + \frac{1}{6}\times \frac{1}{6}\times \frac{1}{6}

【腾讯】一个医院一天50个新生儿,另一个医院一天100个新生儿,哪个医院男孩>60%的概率大?

中心极限定理:设从均值为μ、方差为σ^{2}的任意一个总体中抽取样本量为n的样本,当n充分大时,样本均值的抽样分布近似服从均值为μ、方差为\frac{σ^{2}}{n} 的正态分布。

【头条】一个数组由除号连接,怎么样加入括号,使最后的数最小?

(1\div2)\div3=1/6
1\div(2\div3)=3/2
(1\div2)\div1/3=1/6
1\div(2\div1/3)=3/2

最后搞成几个数相除的形式,希望每个数都尽可能大,如果当前积大于1,就加入stack,如果当前积小于1,来一个小于1的数,就相除看是否大于1,如果来一个大于1的数,把当前积加入,来的数也加入。

def addBrackets(array):
    temp = 0
    stack = [array[0]]
    for i in range(1, len(array)):
        if array[i] > 1:
            if temp:
                stack.append(temp)
            stack.append(array[i])
            temp = 0
        if array[i] < 1:
            if temp:
                temp = temp / array[i]
            else:
                temp = array[i]
            if temp >= 1:
                stack.append(temp)
                temp = 0
    if temp:
        stack.append(temp)
    res = stack[0] * 1.0
    print(stack)
    for i in range(1, len(stack)):
        res /= stack[i]
    return res

【美团】怎么用3升和5升的桶量出4升的水?

  • 用3升的水桶装满水倒入5升的水桶;
  • 再用3升的水桶装满水,将5升的水桶装满,这时3升的水桶还剩1升水;
  • 然后将5升的水桶清空,再将3升水桶里剩余的1升水倒入5升的水桶;
  • 再用3升的水桶装满水倒入5升的水桶。

【拓展】A升杯子和B升的杯子能量出多少升的水?

从数学角度进行分析,可以给出一个规律:A升杯子和B升的杯子可以倒出的水为 k * gcd(A, B)升(只考虑整数)
假设A = 5, B = 7,我们可以把这两个杯子等价为A = 5, B = 2, 继续等价为A = 3, B = 2, 继续等价为A = 1,B= 2, 继续等价为A = 1, B = 1,继续等价为A = 1, 也就是说,A = 5, B = 7最后可以等价为只有一个1升的水杯,显然,可以倒出任意升的水。假设A = 8, B =12,等价为A = 8, B = 4,等价为A = 4,B = 4,等价为A = 4,也就是说,可以倒出的水为 4 * k。
可以看出:上述的等价过程实际上是求A,B的最大公约数的过程(欧几里德算法)

上一篇 下一篇

猜你喜欢

热点阅读