非科班,传统工科,想看看CV到底有多卷,抱着试试的心态投的,以为简历都过不了,既然给笔试了,趁没忘记录下吧,祝大家都拿到心仪offer!
五道编程题:
一、一场考试n道多选,每道题答案是A\B\C\D中一个或者全选,每题全对得3分,少选得1分,错选不得分。牛妹满分,牛牛得了多少分?
输入:第一行:总题数1<n<10000;第二(牛牛选的)、三(牛妹选的)行:n个长度1-4只含ABCD的字符串,第i个字符串对应第i题
输出:牛牛得分,整数
二、收韭菜。给出P(a<=x<=b)表达式,求[a,b]⊂[1,10]的概率是否大于0.5.大于输出1,否则输出0.
输入:第一行:数据组数t;下面t行:每一行a,b
输出:
三、两个正态分布,可简单计算得到KL散度。现给一个正态分布q为N(0,1),另一个p为(0,P),P为一个k阶对角阵,判断二者KL散度是否大于阈值t,若大于输出1,小于输出0.
输入:第一行k,t;第二行:k个浮点数,对角元
输出:0或1
四、给定长度m数组,求有多少长度为k的子区间满足子区间元素构成一个顺子(排序后相邻两元素的差的绝对值恰好等于1)
输入:第一行:整数n,k;第二行:n个整数
输出:一个正整数表示答案
五、长W高H木板,左下角(0,0),左上角(0,H),要花m条标记线,第i条线为经过两个整数点坐标(xi1,yi1)(xi2,yi2)的直线,该直线斜率只能为-1或1。随后沿线切割,求切割后小木块数量。
输入:第一行:H,W;第二行:整数m;接下来m行每行4个整数表示经过的坐标点
输出:块数