星环科技 java 8.30 笔试

1. 16
2. 0
3. 41

我太菜了,全都没什么好思路
全部评论
第一题a了 先考虑如何移动 需要找到大小在中间的两个数 记为l和r 以n为偶数为例 起始值是n/2 和n/2+1 操作一次 然后l-1 r+1 操作一次 以此类推 这样最大移动次数是n/2 然后考虑能少移动几次 可以看出来如果刚开始l的坐标小于r的坐标 其实是不用移动的 然后考虑下一对 如果l的坐标依然小于r的坐标 还要满足l的坐标小于l+1的坐标且r的坐标大于r-1的坐标 才可以不移动 可以看这个例子2314 只要遍历到一对需要移动的l和r 就跳出循环 因为后面的一定都需要移动 输出结果就行 n是奇数的思路一样 不过起始的l和r是n/2 n/2+2 还需要考虑他们和n/2+1的坐标关系判断能否不移动
3 回复 分享
发布于 2023-08-30 22:20 陕西
卧槽跟你一样
1 回复 分享
发布于 2023-08-31 08:52 四川
第一题感觉我过了41,后来有优化思路没来得及写。我的思路是设置一个target数组(1-n顺序排列就行),用哈希表记录题目输入数组中每个数字的下标,设置轮数round,while循环,每次把输入数组中的n-round和round设置为-1。然后判断target[round:n-round]和输入数组中除了-1按序排列的数组。整体时间复杂度为round*N,应该能A
1 回复 分享
发布于 2023-08-31 07:29 北京
秋招吗
点赞 回复 分享
发布于 2023-08-30 22:52 广东
好难啊,第二道题看题都头疼,有大佬分享一下第三题的思路吗
点赞 回复 分享
发布于 2023-08-30 19:08 湖北
三道题过了半道…
点赞 回复 分享
发布于 2023-08-30 19:04 云南
第一个咋想的
点赞 回复 分享
发布于 2023-08-30 19:03 北京

相关推荐

迷茫的大四🐶:那你问他上班之后老实了没
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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