首页 > 试题广场 >

队列最小修改

[编程题]队列最小修改
  • 热度指数:5833 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
已知一个奇怪的队列,这个队列中有 个数,初始状态时,顺序是 1,2,3,4,…n,是 1-n 按顺序排列。这个队列只支持一种操作,就是把队列中的第 号元素提前到队首 (1<i<=n) ,如有 个元素,初始为 1234 ,可以将 提前到队首,得到 3124 现在给出一个经过若干次操作之后的序列,请你找出这个序列至少是由原序列操作了多少次得到的。

数据范围:

输入描述:
第一行是一个整数n(1<=n<=10^5),表示序列中数字的数量。 接下来一行有n个数,是1-n的一个全排列。数字之间用空格隔开。


输出描述:
输出仅包含一个数字,表示至少操作了几次
示例1

输入

5
5 2 1 3 4

输出

2

说明

按顺序把 2 和 5 提到队列前 

这道题你会答吗?花几分钟告诉大家答案吧!