2019年4月7日 腾讯实习生技术类笔试总结

技术岗  【数据分析和算法机器学习岗位】

一、不定项选择【25题。每题 3分】

      概率论中  

      1.中心极限定理和大数定律的简单应用【课后习题的难度】

      2.方差计算公式,相关系数 简单应用【D(X+Y)】

      数理统计

      1.卡方分布 

      2. 假设检验的假设

      3. 正态分布均值的双边置信区间,给出右端 写出左端区间值

     4.条件概率的计算【很基础,较简单】

      非参数检验

      1.秩和检验【完全不会】

      线性代数:

     1.线性方程组的有解判断,克拉默法则

     2.矩阵的特征值

     数学分析

     1.不定积分

     2.中值定理【难】

 

      抽样技术

     1. 分层抽样  计算样本量【基础,很简单】

     2. 最小二乘法的相关结论、假设。【基础】

     数据结构

     1. 给出 后续遍历和中序遍历  写出先序遍历的顺序

     2. SQL的简单语句【中等难度】

     3.c++程序的时间复杂度 和空间复杂度的计算

     4.c++程序的简单实现,补充缺失语句

     5. 堆的知识

 

二、编程题目 【3题,每题20分】

   1.输入 :整数N 和K

      输出: 操作数  

      过程:消去N

      每轮过程:a. 首先将整数减去1

                        b.再将a操作后的数分解为较小的两个数之和

      下一轮:上一轮的结果重复操作

     注意:b操作最多为K次

      求:N完全消去需要多少轮的操作数

    实例:

    N=5  K=2    输出     4

    N=15  K=4   输出    6

 

2.n个村庄的位置在一条直线上,每个村庄的水果需求量为Ai ,Ai>0时,表示需要引入,Ai<0时,表示需要运出 。

  注意 A1+A2+...+An=0,把K个单位的水果从一个村庄运到相邻村庄需要K元

  问:最少需要多少运费就可以满足所有村庄对水果的需求

实例:

 input:n=5

            A1,A2,A3,A4,A5=[5,-4,1,-3,1]

output:最少费用:9

3.  给出n个整数,执行k次操作

    每次操作,a.将n个数减去这n个数中的最小非零数

                      b.判断a操作后n个数是否都是0 ,若全是0,则输出 0,否则输出 减去的最小非零数

实例:

input:  n,k=2,2

         n个数:4  6

output:k行数

          4

          2

#代码只通过了20%    时间复杂度过高  需要改进

n,k=[int(x) for x in input( ).split( )]
ns=[int(x) for x in input( ).split( )]
n0=list(range(0))
for h in range(n):
    n0[h]=0
def flmin(x):
    x1=[]
    for i in x:
        if i!=0:
            x1.append(i)
    return min(x1)
if len(ns)==n:
    s=[]
    for j in range(k):
        m = flmin(ns)
        for i in range(n):
            ns[i] = ns[i] - m
        if ns==n0:
            s.append(0)
        else:
            s.append(m)
for k in s:
    print(k)

           

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值