OPPO提前批笔试——底层软件工程师
选择题
一共20个选择题
linux+算法+操作系统+网络+数据库+数据结构
编程题
1.求数组和
一个数组,进行q次操作,每次操作修改一个元组,最后求修改后的所有元素之和。
第一行:n,q
第二行:n个正整数
接下来q行:每行输入两个正整数i,x,代表第i个元素修改为x。
input:
5 3
1 2 3 4 5
2 3
3 3
5 1
output:
16
16
12
思路:先把数组求和得到sum,再求每次修改的值与之前的差值,加到sum上。
输出q行,每行一个正整数,代表当前数组元素之和
后台只过了80%,笔试结束后问了大佬要用long long 型
2.最小面积
给定一个矩形和一个定点p,以p为圆心画圆覆盖矩形,求圆面积最小值,pi=3.1415926536
第一行:x1,y1,x2,y2代表矩形左下角和右上角坐标
第二行:xp,yp代表点p的坐标
input:
0 0 1 1
0 0
output:
6.2831853(误差不超过即可)
思路:求点p到矩形四个点的距离然后求最大值,即是半径,求面积
输出:一个浮点数
后台:100%
3.求连续子数组最短长度
连续子数组,满足该连续子数组的所有元素乘积的2进制末尾至少有k个0的连续子数组的最短长度
第一行:两个正整数n,k
第二行:n个正整数ai
intput:
6 3
1 2 3 4 5 6
output:
3
思路:二进制末尾至少有k个0表示乘积和sum%(pow(2,k))==0,然后使用滑动窗口
输出:一个整数代表最短长度,不存在输出-1
后台只过了15%,笔试结束咨询大佬,说也是int类型的问题,改成long long,但是这个确实没试不知道还有没有其他问题
做一个简单的记录,关于思路问题,或者有没有哪些平台能让我重新做一下这些题,求大佬指点指点!!!
总结:选择题都是基础知识,编程总体来说比较简单,不像华子的那种难度,但是就是考虑不周全,还是基础不牢。
#OPPO信息集散地##oppo#本专栏主要是记录24届秋招过程中我的笔试以及面试过程,一方面是为了给自己作为一个记录总结学习,作为面试复盘的一个记录 ,另外一方面作为一个分享,让大家能够少走弯路,针对性复习。 后面会持续更新!!!有需要的可以持续跟进