タイトル:昇順
問題は
、a [i] <a [i + 1] <a [i + 2] <…<a [j]の場合、a [1]、a [2]、…、a [n]のシーケンスで説明されます。 [i]を[j]に呼び出し、j-i + 1の長さの増加シーケンスを呼び出します。
シーケンスが与えられた場合、シーケンスで最も長く増加するシーケンスの長さ。
入力フォーマット入力
の最初の行には整数nが含まれています。
2行目には、n個の整数a [1]、a [2]、…、a [n]が含まれ、隣接する整数はスペースで区切られて、指定されたシーケンスを表します。
出力形式
出力行には、答えを示す整数が含まれています。
入力例
7
5 2 4 1 3 7 2
出力例
3
主なポイント
問題には一連の数字が与えられます。彼は最初の部分で増加するシーケンスを持ち、次に切り捨てられ、その後増加するシーケンスがあります。両端でシーケンスの長さを比較する必要があります。
コード
import java.util.Scanner;
public class 递增序列 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] array = new int[n];
for (int i = 0; i < n; i++) {
array[i] = sc.nextInt();
}
sc.close();
int temp = array[0];
int count = 1;
int max = 0;
for (int i = 1; i < n; i++) {
if (temp < array[i]) {
temp = array[i];
count++;
} else { //重新开始一段递增序列
temp = array[i];
max = Math.max(count, max);
count = 1;
}
}
System.out.println(max);
}
}