星环科技 java 8.30 笔试
1. 16
2. 0
3. 41
我太菜了,全都没什么好思路
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的坐标关系判断能否不移动
送花
回复
分享
第一题感觉我过了41,后来有优化思路没来得及写。我的思路是设置一个target数组(1-n顺序排列就行),用哈希表记录题目输入数组中每个数字的下标,设置轮数round,while循环,每次把输入数组中的n-round和round设置为-1。然后判断target[round:n-round]和输入数组中除了-1按序排列的数组。整体时间复杂度为round*N,应该能A
送花
回复
分享
秋招专场
官网直投
卧槽跟你一样
送花
回复
分享
第一个咋想的
送花
回复
分享
三道题过了半道…
送花
回复
分享
好难啊,第二道题看题都头疼,有大佬分享一下第三题的思路吗
送花
回复
分享
秋招吗
送花
回复
分享
相关推荐
投递星环科技等公司6个岗位 >
点赞 评论 收藏
转发
点赞 评论 收藏
转发
查看3道真题和解析
点赞 评论 收藏
转发