排序子序列
发布日期:2021-11-04 22:04:28 浏览次数:11 分类:技术文章

本文共 818 字,大约阅读时间需要 2 分钟。

题目描述:

       牛牛定义排序子序列为一个数组中一段连续的子序列,并且这段子序列是非递增或者非递减排序的。牛牛有一个长度为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最少划分为多少段排序子序列

输入例子:
61 2 3 2 2 1

输出例子:
2
分析:分成两种情况,递增区间与递减区间。还有在判断语句结束时有一个变量跳动,即当前指针应向下移动一位。
程序:
#include 
#include
#include
#include
#include
#include
#include
#define ll long long using namespace std;int solve(ll A[],int n){ if(n<=2){ return 1; } int p=0; int k=0; while(k!=n){ while(A[k]==A[k+1]){ ++k; } if(A[k]
=A[k+1]){ ++k; } k+=1; p++; // cout<

<<" "; } } return p; }int main(int argc,char** argv){ ll N; while(cin>>N){ ll a[N]; for(int i=0;i

>a[i]; } int len=solve(a,N); cout<

转载地址:https://blog.csdn.net/xiaochen87654321/article/details/72615565 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:华为编程题---汽水瓶
下一篇:leetcode 312. Burst Balloons

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年03月27日 23时02分17秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

【Leetcode刷题篇】leetcode581 最短无序连续子数组 2019-04-26
【Leetcode刷题篇】leetcode538 把二叉搜索树转换为累加树 2019-04-26
【多线程与高并发】线程的优先级是怎么回事? 2019-04-26
【多线程与高并发】Java守护线程是什么?什么是Java的守护线程? 2019-04-26
【Leetcode刷题篇/面试篇】-前缀树(Trie) 2019-04-26
【Leetcode刷题篇】leetcode337 打家劫舍III 2019-04-26
【Leetcode刷题篇】leetcode4 寻找两个正序数组的中位数 2019-04-26
【Leetcode刷题篇】leetcode316 去除重复字母 2019-04-26
【Leetcode刷题篇】leetcode1081 不同字符的最小子序列 2019-04-26
【面试篇】Java网络编程与IO流体系 2019-04-26
【大话Mysql面试】-Mysql的索引为什么要使用B+树,而不是B树,红黑树等之类? 2019-04-26
【大话Mysql面试】-如何通俗易懂的了解Mysql的索引最左前缀匹配原则 2019-04-26
【大话Mysql面试】-MYSQL的两种存储引擎MyISAM与InnoDB的区别是什么? 2019-04-26
【大话Mysql面试】-InnoDB可重复读隔离级别下如何避免幻读?MVCC和next-key是什么 2019-04-26
【大话Mysql面试】-Mysql如何恢复数据?如何进行主从复制?Binlog日志到底是什么? 2019-04-26
理解String.intern()和String类常量池疑难解析例子 2019-04-26
【物联网实训项目】------(二)家庭智慧安防系统之定时监控 2019-04-26
【物联网实训项目】------(五)家庭智慧安防系统之智能监控 2019-04-26
数据结构----绪论 2019-04-26
篇章二线性表---常见操作 2019-04-26