任务
玛丽是一位著名的店主,在她的商店里卖n件商品。她为每个商品分配了一个独特的受欢迎程度等级,范围从 1到n 。
这家商店只有一个架子,因此物品以阵列形式显示在从左到右的任意行中,并且顺序随机。她想通过降低 受欢迎程度来重新排列货架上的商品,以使 i 物品的评价始终大于(i + 1)项。玛丽可以在一次操作中交换任意两个项目 i 和 j 。
规格
minimumSwaps(ratings)-要创建的函数
参数
评分:Array<Number>
-一组数字,指示货架上每个商品的受欢迎程度。
返回值
数字-表示玛丽通过降低受欢迎程度来订购所有n项物品必须执行的最小交换操作次数。
约束 n = 评分数组中的项目数
每个评分值(arri)都是唯一的
1 ≤ n ≤ 2 × 10^5
1 ≤ arri ≤ n
示例
评分返回值
示例1 [3,1,2]
- minimumSwaps([3,1,2])返回 1
示例2 [3,1,2,4]
- minimumSwaps([3,1,2])返回 2