题目描述
给你一个数组 target ,包含若干 互不相同 的整数,以及另一个整数数组 arr ,arr 可能 包含重复元素。
每一次操作中,你可以在 arr 的任意位置插入任一整数。比方说,如果 arr=[1,4,1,2] ,那么你可以在中间添加 3 得到 [1,4,3,1,2] 。你可以在数组最开始或最后面添加整数。
请你返回 最少 操作次数,使得 target 成为 arr 的一个子序列。
一个数组的 子序列 指的是删除原数组的某些元素(可能一个元素都不删除),同时不改变其余元素的相对顺序得到的数组。比方说,[2,7,4] 是 [4,2,3,7,2,1,4] 的子序列,但 [2,4,2] 不是子序列。
输入格式
三行,第一行输入两个整数 n(1≤n≤105) 表示 target 的长度 和 m(1≤m≤105) 表示 arr 的长度。接下来两行分别输入数组 target(1≤target[i]≤109) 和 arr(1≤arr[i]≤109),且 target 中不包含任何重复元素。
输出格式
一行,输出 最少 操作次数
样例
3 5
5 1 3
9 4 2 3 4
2
样例 1 解释
你可以添加 5 和 1 ,使得 arr 变为 [5,9,4,1,2,3,4] ,target 为 arr 的子序列。
6 8
6 4 8 1 3 2
4 7 6 2 3 8 6 1
3