编程题
### 问题描述 小蓝喜欢收集魔法卡片,每张魔法卡片上都有一个整数。现在她打算整理她的卡片收藏。她想把卡片按照非递减顺序排列,这样她就能更容易地找到她想要的卡片。 小蓝可以使用一种魔法操作:选择一个整数 $x$,将所有等于 $x$ 的卡片全部移到序列的开头或末尾。每次操作必须将所有等于 $x$ 的卡片一起移动。 现在小蓝想知道,至少需要进行多少次魔法操作,才能将卡片按照非递减顺序排列。请你帮助她解决这个问题。 ### 输入格式 输入第一行包含一个整数 $n$($1 \leq n \leq 2\times 10^5$)表示卡片的数量。 输入第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \leq a_i \leq n$)表示卡片上的数字。 ### 输出格式 对于每个查询,输出一个整数 - 排序卡片所需的最少操作次数。 ### 样例输入 ``` 7 2 1 3 1 1 3 2 ``` ### 样例输出 ``` 2 ``` ### 说明 在这个示例中,我们可以先将所有的 $1$ 移到序列的开头,然后将所有的 $2$ 移到序列的开头,得到序列 $[1,1,1,2,2,3,3]$,只需要 $2$ 次操作即可将卡片排序。
查看答案
赣ICP备20007335号-2