2022.03.04 OPPO C++笔试

若干选择填空题,考得比较细,有点难度

算法题:(总体来说很简单)

  1. 随机生成一个若干长度的字符串msg,比如"adEsaowOPdppYyoes",仅包含大小写字母,请问msg中的字符可以组成多少个"oppoyes"字符串,另外每个大写字母可以当成两次小写字母使用。示例:

    输入:"OPPOYES",输出:2

    输入:"oPoyes",输出:1

    输入:"oppoye",输出:0

    我的解答:ac 100%。用哈希表记录就好了,细节要注意,前面一直只通过50%用例。检查了很久代码才找到问题。需要一开始主动                    把"oppoyes"里面的7个字符作为键放入哈希表,不然后续判断较麻烦。

  2. 给你一个数组,比如nums,[2, 2, 2, 0, 2]和一个起点begin = 2,从起点出发下一步可以到达

    begin + num[begin] 或者 begin - nums[begin],可以循环跳跃,比如到了最左边,就从最右边跳回,

    例如这个数组长度为5,begin = 1,往左跳到begin - nums[begin] = 1 - 2 = -1,应该落在下标为4的位置。

    求问,若干次后能否调到值为0的点。示例:

    输入:[2, 2, 2, 0, 2], 2    输出:true    解释:2 => 4 => 1 => 3

    输入:[1, 2, 0, 2], 1    输出:false    解释:无法跳达

    我的解答:ac 46%。用了dfs,告诉我超出内存限制了,我的是暴力解法了。后续知道较优解法是bfs加一个bool数组

  3. 判断是否为漂亮树

    我的解答:ac 100%。秒,二叉树的层序遍历。

#OPPO##笔经#
全部评论
为啥我是俩编程题啊😂 都老简单了
点赞 回复 分享
发布于 2022-04-28 11:22
兄弟,选择填空大概是哪些方面的内容呀,全是C吗?
点赞 回复 分享
发布于 2022-03-31 17:10
lz约面了吗
点赞 回复 分享
发布于 2022-03-18 10:00
请问您投的是什么岗位
点赞 回复 分享
发布于 2022-03-16 17:40
老哥 为啥我oppo投的暑期实习没有笔试啊
点赞 回复 分享
发布于 2022-03-15 21:04
牛啊,我填空根本不会
点赞 回复 分享
发布于 2022-03-07 19:55
oppo也要C++的吗
点赞 回复 分享
发布于 2022-03-05 10:57

相关推荐

牛客67381407...:我们学校华为是点击就送的
点赞 评论 收藏
分享
评论
2
18
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务