当前位置: 首页 > news >正文

日照比较好的网站建设企业图片优化软件

日照比较好的网站建设企业,图片优化软件,友汇网网站建设管理后台设置,信息系统推广方案这里写目录标题问题描述解决思路实现代码问题描述 牛牛定义排序子序列为一个数组中一段连续的子序列,并且这段子序列是非递增或者非递减排序的。牛牛有一个长度为n的整数数组A,他现在有一个任务是把数组A分为若干段排序子序列,牛牛想知道他最少可以把这个数组分为几段排序子序…

这里写目录标题

  • 问题描述
  • 解决思路
  • 实现代码

问题描述

牛牛定义排序子序列为一个数组中一段连续的子序列,并且这段子序列是非递增或者非递减排序的。牛牛有一个长度为n的整数数组A,他现在有一个任务是把数组A分为若干段排序子序列,牛牛想知道他最少可以把这个数组分为几段排序子序列.
如样例所示,牛牛可以把数组A划分为[1,2,3]和[2,2,1]两个排序子序列,至少需要划分为2个排序子序列,所以输出2

输入描述

输入的第一行为一个正整数n(1 ≤ n ≤ 10^5)
第二行包括n个整数A_i(1 ≤ A_i ≤ 10^9),表示数组A的每个数字。

输出描述

输出一个整数表示牛牛可以将A最少划分为多少段排序子序列


解决思路

  • 题意分析
    题中说是将一个数组分为若干段排序子序列,而排序子序列给的定义是非递增或者非递减排序的。此时,我们需要理解这个非递增和非递减是什么意思,此处举例说明:
    arr1: 1 2 3 4 5 非递减序列
    arr2: 5 4 3 2 1 非递增序列
    arr3: 1 3 3 3 4非递减序列
    arr4: 5 4 4 3 1 非递增序列
    从这四个例子可以看出,
    非递增序列的意思就是后面的数只能小于或者等于前面的数,即arr[i+1] <= arr[i]
    非递减序列的意思就是后面的数只能大于或等于前面的数,即arr[i+1] >= arr[i]
  • 大致思路
    要将一个数组划分为非递增或者非递减的子序列,就是要遍历整个数组,在遍历过程中,再逐个遍历非递增子序列和非递减子序列,每遍历完一个子序列,计数器就加一,直到整个数组遍历完毕。
  • 具体实现
    题中输入是要输入的数组长度和数组元素,输出是能划分的子序列的个数。
    首先定义一个变量count用来表示子序列的个数,接下来循环遍历数组,比较数组中的前一个数和后一个数,即比较arr[i] 和arr[i+1] ,若arr[i+1] > arr[i],则进入非递减子序列,继续循环遍历,当 arr[i+1] > arr[i]的条件不满足时,即表示当前子序列遍历结束,此时给count++,反之,同理。当arr[i+1] == arr[i]时,此时直接i++,因为两个数相等既可以是非递增序列,也可以是非递减序列,直接将其算入下一个子序列中即可。

实现代码

public class Test {public static void main(String[] args) {yaoqqiuScanner in = new Scanner(System.in);while (in.hasNextInt()){int a = in.nextInt();int[] array = new int[a+1];//多给数组一个长度,避免遍历不到最后一个元素for(int i = 0;i<a;i++){array[i] = in.nextInt();}int i = 0;int count = 0;while(i < a ) {if(array[i] < array[i+1]) {//此时进入非递减子序列(即后面的数均大于或等于前面的数)while (i < a && array[i] <= array[i+1]) {i++;}count++;i++;} else if(i < a  && array[i+1] == array[i]){//相等既可以是非递增也可以是非递减,所以可以不处理,直接加一i++;} else {//进入非递增子序列(即后面的数均小于或等于前面的数)while(i < a && array[i] >= array[i+1]){i++;}count++;i++;}}System.out.println(count);}}
}
http://www.hkea.cn/news/8265/

相关文章:

  • 新办公司网上核名在哪个网站做百度没有排名的点击软件
  • 网站建设费用 发票公司网页制作流程
  • 代理赚钱武汉网站搜索引擎优化
  • 凡科网站怎么做建站网络推广网站建设
  • 做网站 赚钱多吗搜索引擎优化课程
  • php网站在线打包源码中国搜索引擎有哪些
  • share poine 户做网站最有效的线上推广方式
  • 用什么手机软件做网站汕头网站建设方案优化
  • 自适应网站一般做几个尺寸品牌推广方案思维导图
  • 自己做电影资源网站情感链接
  • 遵义市网站建设长沙网站seo排名
  • 批量查询网站是否正常长春网站建设策划方案
  • 做网站南京百度网盘下载速度慢破解方法
  • 路北网站制作seo优化推荐
  • 装修公司企业网站开发规划百度官方营销推广平台
  • 睢宁建网站百度搜索资源平台提交
  • 微信怎么做小程序的电脑系统优化软件十大排名
  • 网站建设的要求有哪些广告推广赚钱
  • 网站建设价格在哪济南兴田德润优惠吗深圳百度竞价推广
  • 河南企业网官方网站河南推广网站的公司
  • 做网站的编程语言免费网站建设模板
  • 做网站友汇网网站优化建议
  • 企业网站备案域名可以用个人的核心关键词和长尾关键词举例
  • 上海做网页公司莆田seo推广公司
  • 少儿编程自学网站企业网站建设规划
  • 厦门网站建设培训学校网站制作基本流程
  • 中国扬州 政府门户网站建设方案怎么做网络销售
  • 现在的网站前端用什么做青岛关键词优化seo
  • 公司网站海报怎么做计算机基础培训机构
  • 什么行业 网站seo网络推广到底是做什么的