1、从数组后面往前进行维护有序队列。并维护有序队列的最小值。
2、如果有序队列前一个数字比有序队列的最小值大,则需要进行一次选择使队列成为有序队列。

3、直到数组头,循环结束。
import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 
     * @param n int整型 
     * @param a int整型一维数组 
     * @return int整型
     */
    public int wwork (int n, int[] a) {
        // write code here
        int min = a[n-1];//有序队列的最小值
        int res = 0;//选择次数
        for(int i= n-2;i>=0;i--){//从数组后往前维护有序队列
            if(a[i]<min){
                min = a[i];//维护最小值
            }else{
                res +=1;//选择次数加一
            }
        }
        return res;
    }
}