0903微众银行笔试 编程题AK

第一题

题意:求前n个值中最大不重复个数。

解题思路:一开始把题目看错了。竟然是固定从头开始。判重一下就可以了。

第二题

题意:给定n个数,一次操作是将任意一个数加1,求将这n个数变成不含重复数的操作次数。

解题思路:排个序,从小到大,如果当前数小于等于前一个数,则把当前数变为前一个数➕1,否则不用变。

第三题

题意:给定n个数,求满足条件的子区间个数,条件为子区间的平均值为u/v (题目中说是有理数,且u,v的最大公因数为1)

解题思路: 看到子区间想到前缀和,推下公式即可,利用哈希表等结构维护一下值对应的个数即可。

调了很久,加了个判断长度为1的区间能否满足条件就过了,醉了。
全部评论
第三题我也是用的哈希表,不过只过了82
1
送花
回复
分享
发布于 2023-09-03 21:07 上海
第三题和加区间为1无关 数组里都是整数 而u/v必然是小数 所以加不加都一样 应该是你改了其他的地方才过的
点赞
送花
回复
分享
发布于 2023-09-03 21:26 湖北
秋招专场
校招火热招聘中
官网直投
你好老哥,请问你投的是前端岗位嘛?
点赞
送花
回复
分享
发布于 2023-09-12 22:22 辽宁

相关推荐

7 14 评论
分享
牛客网
牛客企业服务