技术岗 【数据分析和算法机器学习岗位】
一、不定项选择【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)