(Java)华为OD机试:统一考试C卷+D卷+AB卷+刷题OJ
目前在考C卷,经过两个月的收集整理,C卷真题已基本整理完毕
抽到原题的概率为2/3到3/3,也就是最少抽到两道原题。请注意:大家刷完C卷真题,最好要把B卷的真题刷一下,因为C卷的部分真题来自B卷。
另外订阅专栏还可以联系笔者开通在线OJ进行刷题,提高刷题效率。
真题目录:【Java题解】华为 OD 机试 C卷抽中题库清单(全真题库)含考点说明以及在线OJ
专栏:(Java)华为OD机试C卷+D卷+AB卷+刷题OJ
在线OJ:点击立即刷题,模拟真实机考环境
华为OD面试真题精选:华为OD面试真题精选
题目描述
n (3≤n≤90000 且可以整除 3 )个学生排成一排,学生编号分别是 1 到 n,n 为 3 的整倍数,老师随机抽签决定将所有学生分成 m 个 3 人的小组(n == 3 * m) 。
为了便于同组学生交流,老师决定将小组成员安排到一起,也就是同组成员彼此相连,同组任意两个成员之间无其它组的成员。
因此老师决定调整队伍,老师每次可以调整任何一名学生到队伍的任意位置,计为调整了一次, 请计算最少调整多少次可以达到目标。
注意:对于小组之间没有顺序要求,同组学生之间没有顺序要求。
输入描述
第一行输入初始排队顺序序列
第二行输入分组排队顺序序列
输出描述
输出一个整数x,表示至少调整x次站位
用例
输入
4 2 8 5 3 6 1 9 7
6 3 1 2 4 8 7 9 5
输出
1
说明
分组分别为:6,3,1一组,2,4,8一组,7,9,5一组
初始排队顺序中,只要将5移动到1后面,变为:
4 2 8 3 6 1 5 9 7
即可满足分组排队顺序要求。
因此至少需要调整1次站位。
用例2
输入
8 9 7 5 6 3 2 1 4
7 8 9 4 2 1 3 5 6
输出