0903微众银行笔试 编程题AK
第一题
题意:求前n个值中最大不重复个数。
解题思路:一开始把题目看错了。竟然是固定从头开始。判重一下就可以了。
第二题
题意:给定n个数,一次操作是将任意一个数加1,求将这n个数变成不含重复数的操作次数。
解题思路:排个序,从小到大,如果当前数小于等于前一个数,则把当前数变为前一个数➕1,否则不用变。
第三题
题意:给定n个数,求满足条件的子区间个数,条件为子区间的平均值为u/v (题目中说是有理数,且u,v的最大公因数为1)
解题思路: 看到子区间想到前缀和,推下公式即可,利用哈希表等结构维护一下值对应的个数即可。
调了很久,加了个判断长度为1的区间能否满足条件就过了,醉了。
题意:求前n个值中最大不重复个数。
解题思路:一开始把题目看错了。竟然是固定从头开始。判重一下就可以了。
第二题
题意:给定n个数,一次操作是将任意一个数加1,求将这n个数变成不含重复数的操作次数。
解题思路:排个序,从小到大,如果当前数小于等于前一个数,则把当前数变为前一个数➕1,否则不用变。
第三题
题意:给定n个数,求满足条件的子区间个数,条件为子区间的平均值为u/v (题目中说是有理数,且u,v的最大公因数为1)
解题思路: 看到子区间想到前缀和,推下公式即可,利用哈希表等结构维护一下值对应的个数即可。
调了很久,加了个判断长度为1的区间能否满足条件就过了,醉了。
全部评论
第三题我也是用的哈希表,不过只过了82
第三题和加区间为1无关 数组里都是整数 而u/v必然是小数 所以加不加都一样 应该是你改了其他的地方才过的
你好老哥,请问你投的是前端岗位嘛?
相关推荐
点赞 评论 收藏
分享