网易4.21算法岗笔试
第一题是给一组数,每次求平均值x,把大于x的删掉,直到没有东西可以删为止,求操作次数。
这是辣鸡唯一a的题,先排序,然后求平均值,while循环判断平均值是不是大于数组最小值,循环里面用二分法求大于平均值第一个数位置,把后面的删了。
第二题是递增树,输入3行参数,第一行节点数n,第二行节点值,第三行n-1个数,每个数表示第i+1节点的父节点。返回n个数,表示节点的递增祖先?(记不清了)
我没看懂给的例子,反正我建出来的树不一样,直接白卷
第三题是给一组数,有两种操作:1.把x变成小于它的最大质数,2.把x变成大于它的最小质数(x>2)。然后求把数组所以数变成一样的要操作多少次。
我直接暴力求解的,定义三个函数,分别是判断x是不是质数,小于x的最大质数,大于x的最小质数。然后排序数组取出中位数,先判断下中位数是不是质数,要不是的话还要分别求它附近的质数计算两次循环求最小值。循环就是遍历数组,把不等于中位数的都变成中位数,返回修改次数。果不其然超时了,好像过了27%。
第四题是给分子分母,求循环小数循环前长度和循环长度(好像是)
我8会做,只是判断了下是不是循环小数,不是就返回了-1,过了9%
我大概是最菜的了,这次估计又过不了。。。。
#网易##算法工程师##笔试题目#