数据挖掘2022年深信服科技机器学习工程师笔试

Posted Better Bench

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据挖掘2022年深信服科技机器学习工程师笔试相关的知识,希望对你有一定的参考价值。

企业:深信服科技 机器学习工程师

1 不定项选择题

1、 均衡二叉树,概念是n-1层的数是满二叉树,当有400个节点,树的高度为多少?

答案:9

n-1是完全二叉树,则高度为n-1的完全二叉树结点数为 2 8 − 1 = 255 2^8-1= 255 281=255,高度为n的完全二叉树结点数为$2^9-1 =525 $,则400个节点,是高度为9的均衡二叉树

2、如果一个二分类模型的召回率为99% ,误报率时为1%,正负样本比例时1:100,那么该模型的精确率大概时多少

?

3、降低过拟合的方法(A、B、D)

A.正则化
B. 增加样本数量
C. 增加模型参数
D. 删除稀疏的特征

4、由3个a,5个b和2个c构成的所有字符串中,包含子串’abc’的共有( )个.

解析:除去abc后还剩2a,4b,1c
2a,4b,1c的排列方法一共有7!/(4!*2!)=105种
再把abc放入2a,4b,1c的每个排列之中,每个排列有8种放法
所以8×105=840

5、一堆石子由10个,两个人A、B轮流从中取石子,规定每次至少取一个,最多取三个,取走最后石子的人获胜,在A先手的情况下必胜的是

答案:?

2 填空题

1、120名儿童到游乐场去玩,他们可以其旋转木马,坐滑行铁道,成宇宙飞船,已知其中20人三种多玩过,60人至少玩过其中的两种,若每次乘坐一次的费用是5块,游乐场共收入1000,可知多少名儿童没有玩过其中一种

答案:0

解析:

只玩过两种的人:60-20=40

还剩的费用:1000-20×3×5-40×2×5=300元

只玩过一种的人:300/5=60人

什么都没玩过的:120-60-60=0人

2、从1到10000中取出奇数位置的数,再从剩下的数中去除奇数位置的数,反复去除直到所有数都去掉,最后一个被去除的数是

答案:8191

#include <iostream>
using namespace std;
#include<iostream>
#include<cmath>
using namespace std;
int main()

	int n=10000;
	
	int k = 1;

	while (pow(2, k) <= n + 1) 
		k++;
	
	cout << pow(2, k - 1) - 1 << endl;
	


3、已知一个有限长度正整数序列a[1],a[2]…,满足两个条件,

a[i+2]>a[i],对于i>=1;

a[i-2]>a[i],对于i>3,则序列最小长度为

答案:?

4、结点数为2020的二叉树,叶节点数最少是多少

答案:1

只有单边的二叉树结构

5、稳定的排序算法有哪些?不稳定的有哪些?

稳定的排序算法有以下4种:1、冒泡排序;2、插入排序;3、归并排序;4、基数排序

不稳定的排序算法有4种:选择排序、快速排序、堆排序、希尔排序

6、不是基于比较排序算法?

基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。

3 编程题

1、设定一种五进制数值表示方式,它的每一数位可能是字幕o,y,e、a、s其中一个,分别嗲表数字0,1,2,3,4.例如五进制数ya对应的十进制为8,五进制数为ysoae对应的十进制为1142,现在给定一个五进制数,输出它的十进制数,或给定一个十进制数,输出它的五进制数

输入
4
ya
83
ysoae
3958

输出
8
aya
1142
yyyaya

def tansfer_10_to_5(n):
    a = [0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F']
    b = []
    while True:
        s = n//5
        y = n%5
        b = b+[y]
        if s==0:
            break
        n = s
    b.reverse()
    dic= 0:'o',1:'y',2:'e',3:'a',4:'s'
    d  = [dic[i] for i in b]
    return ''.join(d)
def tansfer_5_to_10(n):
    return int(str(n),5)
for i in range(N):
    ss = str(input())

    if ss.isdigit():
        print(tansfer_10_to_5(int(ss)))
    else:
        dic = 'o':'0','y':'1','e':'2','a':'3','s':'4'
        s = ''.join([dic[i] for i in str(ss)])
        print(tansfer_5_to_10(int(s)))

2、 员工旅游,部门中每个人都有一个方便旅游的时间段,如果某个员工方柏霓的时间段内旅游,则这个员工觉得方便,反之

第一行为一个正整数T,表示测试组数,T<=100

每组测试数据的第一行是一个正整数N,表示有多少名员工,

接下来是N行,每行表示一个员工的方便时间段,用两个正整数A,B表示,A<=B <=1000000,例如A为5,B为8,表示该员工再5,6,7,8这四个时间点旅游都是方便的。

输出每组测试数据输出一行,为一个整数,表示最多可以让多少人觉得方便
输入:

3
2
2 5
8 9
3
4 10
7 12
10 10
10
2 8
9 10
4 7
2 5
5 7
3 6
1 4
6 9
7 8
4 6

输出
1
3
6

以上是关于数据挖掘2022年深信服科技机器学习工程师笔试的主要内容,如果未能解决你的问题,请参考以下文章