携程 4.12 笔试侥幸 AK 了

代码扔这了:https://www.nowcoder.com/discuss/872814076806688768 想复盘自己看吧

Q1 <=3 穷举一下就是 false, 其他情况都是有解的,要么是 n-1, n + 1 要么是 n, n (但是我 Java 一开始写的 超时了改成 CPP 就能过了,感觉是没给 Java 开时限)
Q2 找 0 1 边界的最大值和次大值加起来就好了
Q3 双指针,维护向左向右两个序列,从大到小遍历向左的数组,那么在当前点之前的 2*k 区间内的向右的人的区间是不断左移动的
Q4 最后肯定很快(log 级别)变成 1 和 2,简单算一下 1 变化 x 次答案就是 (x + 1) * 2 ^ x, 2 变化 x 次答案就是 2 ^ (x + 1) #牛客AI配图神器#
全部评论
为啥只考虑1、2,没有3,不是3也会循环出现3吗,而且1变化x次答案不是2^(x+2)-3吗
1 回复 分享
发布于 昨天 12:58 上海
第一题有解的情况直接一个4,一个n-4就好了
1 回复 分享
发布于 昨天 12:06 北京
拼多多招27届实习生啦&amp;nbsp;https://careers.pddglobalhr.com/campus/intern/detail?t=dRvUVvcTiA
点赞 回复 分享
发布于 昨天 13:38 上海
Q1我也是同样的思路,但是一直超时(Java),没想到换成C Q2用双指针找到连续0 / 1翻转然后加上两个边界的值为什么不对 Q3感觉把向左的队列从大到小排完全都枚举可能会超时,所以从小到大排然后把向右的队列从大到小排统计他们之间包含的人的个数然后计算,但是这个思路好像不可行,还没找到为什么错 Q4看了一眼没时间做
点赞 回复 分享
发布于 昨天 12:19 陕西
最后一题我搁那一直超时不知道为啥
点赞 回复 分享
发布于 昨天 12:08 日本
第三题为啥我一直是通过4.35%啊 思路没啥问题啊 样例也过了
点赞 回复 分享
发布于 昨天 12:07 江苏
草,忘记2是质数了,脑子没转过来,我就说怎么一直有样例没过。。。而且我拿Python、Java、C++挨个把第一题写了一遍,通过率50%,70%,90%,就离谱
点赞 回复 分享
发布于 昨天 12:06 新加坡
第一题是io问题,换成BufferedReader能过
点赞 回复 分享
发布于 昨天 12:00 湖北

相关推荐

04-10 18:32
已编辑
四川大学 Java
牛客17492028...:我只能说你这学历boss有的是人要,
点赞 评论 收藏
分享
昨天 11:29
门头沟学院 Java
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
3
1
分享

创作者周榜

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