第一题我想的是把发射的粒子用一个hash标记是第几个发射的,然后遍历接收数组,再维护一个mark数组表示偏移值,如果接收数组里的粒子的顺序不等于发射数组里的顺序+偏移值就证明这个粒子有异常,例如:发射数组为5,4,3,2,1,接收数组为:1,5,3,4,2,那么遍历到1时(1的hash值为4,当前下标为0,偏移值为0,0!=4+0)更新mark数组为:1,1,1,1,0,(即表示1在发射数组的下标的前面的值的偏移值都要加1),然后是5(hash值为0,偏移值为1,当前下标为1,1=0+1,所以5没有异常)。写完还以为这个复杂度会超时,结果直接ak了
1 4

相关推荐

点赞 评论 收藏
转发
牛客网
牛客企业服务