牛牛得到了一个大小为n的整数数组nums,其中的每个元素都是从0到n-1(包括0和n-1)的一个数。其中,从1到n-1的每个元素代表一个物品,而元素0代表一个空位。 每次操作,你可以将任意一个物品移动到空位上。当且仅当所有物品的数字按升序排列,并且空位要么在数组的开头,要么在数组的末尾时,数组nums被认为是有序的。 例如,当n = 4时,如果nums是有序的,那么有以下两种情况: nums = [0,1,2,3] 或者 nums = [1,2,3,0] ...其他情况下,nums被认为是无序的。 请你计算将nums变为有序数组所需的最小操作次数。
示例1
说明
- 将物品2移动到空位上。现在,nums = [1,2,0,4,3]。
- 将物品3移动到空位上。现在,nums = [1,2,3,4,0]。
可以证明,需要进行2次操作才能使数组有序。
备注:
n == nums.length2 0 nums中的所有值都是唯一的。
加载中...