OPPO正式批笔试A卷(8/26)
虽然都是A卷,但是每个人的题好像都不一样,只记录一下我遇到的题
比较幸运,三个题都是简单题
- 第一题:
- 题目:手机充电,求充电时间
- 方法:数组sum / 充电速度
- 第二题:
- 题目:按照要求画出大小为n的O
- 方法:构造题,分为5个部分,依次直接printf即可。代码比较长,但是只要看出来分为5个部分逐步的打印,就没什么技术含量。
- 第三题:
- 题目:一个只有o和p的字符串,求字符串的所有子串的权值和。一个字符串的权值定义为该字符串中oppo出现的次数。
- 方法:第一眼觉得像是dp,但是字符串长度2e5,用dp只能想到n^2。其实是个很简单的算贡献的题目,从前向后遍历字符串,遇到一个oppo,就把它对答案的贡献加到结果中即可。贡献就是「(oppo前面的字符数量+1) * oppo后面的字符数量」,代表有多少个子串包含这个oppo。