hihocoder 1523 : 數組重排2

時間限制:10000ms
單點時限:1000ms
內存限制:256MB

描述

給定一個1-N的排列A1, A2, ... AN,每次操作小Hi可以選擇一個數,把它放到數組的最左邊。

請計算小Hi最少進行幾次操作就能使得新數組是遞增排列的。

輸入

第一行包含一個整數N。

第二行包含N個兩兩不同整數A1, A2, ... AN。(1 <= Ai <= N)

對於60%的數據 1 <= N <= 20

對於100%的數據 1 <= N <= 100000

輸出

一個整數代表答案

樣例輸入
5
2 3 1 4 5
樣例輸出

1

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan=new Scanner(System.in);
		Main main=new Main();
		int n=scan.nextInt();
		int[] nums=new int[n];
		for(int i=0;i<n;i++){
			nums[i]=scan.nextInt();
		}
		System.out.println(main.solve(nums));
	}
	private int solve(int[] nums) {
		int n=nums.length;
		int re=n;
		for(int i=nums.length-1;i>=0;i--){
			if(nums[i]==n){
				n--;
				re--;
			}
		}
		return re;
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章