当前位置:   article > 正文

JAVA 蓝桥杯模拟 递增序列_蓝桥杯递增序列java

蓝桥杯递增序列java

递增序列
问题描述
  在数列 a[1], a[2], …, a[n] 中,如果 a[i] < a[i+1] < a[i+2] < … < a[j],则称 a[i] 至 a[j] 为一段递增序列,长度为 j-i+1。
  给定一个数列,请问数列中最长的递增序列有多长。
输入格式
  输入的第一行包含一个整数 n。
  第二行包含 n 个整数 a[1], a[2], …, a[n],相邻的整数间用空格分隔,表示给定的数列。
输出格式
  输出一行包含一个整数,表示答案。
样例输入
7
5 2 4 1 3 7 2
样例输出
3

思路:
1.接受数据之后声明三个变量x max last
x=当前递增序列的长度=0
max=最长递增序列的长度=0
last=循环中当前数的前一位数=arr[i-1]=-1
2.对序列arr进行遍历
如果当前数(arr[I])>前一位数last 也就是(arr[I-1])
则说明形成递增序列 序列长度x++
判断当前递增序列的长度是否大于最长递增序列
如果大于 则将最长递增序列max的值更新为x的值

(一开始将last的值赋为-1就是为了保证第一次循环时x能从1开始计数)

如果如果当前数(arr[I])>前一位数last
则说明没有形成递增序列 序列长度x=1(重新从1开始计算长度)
每次循环结束时用last保存arr[i]的值
3.输出max

publ
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/524551
    推荐阅读
    相关标签
      

    闽ICP备14008679号