[(職業技術グループ)第11回ブルーブリッジカップ州デモコンテストへの回答]シーケンスが与えられた場合、シーケンスで最も長く増加するシーケンスはどれくらいの長さですか?

タイトル:昇順

問題は
  、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);
    }
}
139の元の記事を公開 129を賞賛 20,000以上のビュー

おすすめ

転載: blog.csdn.net/weixin_43124279/article/details/105666516