牛客

解题思路:

 在输入数据的序列中,两两进行比较:
①  a[i+1]>a[i] ,则进入非递增序列判断,直到遍历到下一个值不大于等于为止count++,然后进行下一位置的判断。
                
② a[i+1]<a[i],则进入非递增序列判断,直到遍历到下一个值不小于等于为止count++,然后进行下一位置的判断。
                
③ a[i+1] == a[i]不进行操作,++i进行下一位置遍历,因为相等既可以属于非递增序列,也可以属于非递减序列。
                        
注意:a[i+1]与a[i]进行比较,为了避免越界,数组定义为n+1个,同时给a[n] = 0;
                        
1. 若到a[n-1] 的最后一组是非递减序列  (3  2  1  2  3  4  0) ,当i==n-1,a[i] >a[i+1],因为前面的数都是大于0的,里面的循环结束,i++,count++,i==n,外面的循环结束。
                        
2. 若到a[n-1] 的最后一组是非递增序列(1  2  2  3  2  1  0),当i==n-1,a[i] >a[i+1],因为前面的数都是大于0的,循环再走一次,i++, i== n,里面的循环结束,i++, count++,i==n+1,外面的循环结束。
                
3. 第三种情况 1 2 1 2 1最后一个数是单独的情况,后面补个0,序列变成1 2 1 2 1 0,当走完前面的序列 i==n-1时,a[i] > a[i+1] , 进入判断出一个非递增序列,count++,i++,循环结束。
                
4. 也就是说数组最后一个位置多增加一个0,不会影响第1、2情况的判断,主要是帮助第3情况的正确判断。
代码:
#include<iostream>
#include<vector>using namespace std;int main()
{int n = 0;while (cin >> n){int count = 0;vector<int> ans;ans.resize(n + 1);for (int i = 0; i < n; ++i){cin >> ans[i]; //输入数据}ans[n] = 0; // 注意这里多给了一个值,是处理越界的情况的比较int i = 0;while (i < n){if (ans[i] < ans[i + 1]) //非递减情况{while (i < n && ans[i] <= ans[i + 1]) //继续向后寻找非递减序列, i不要越界i++;count++; //碰到非递增i++;}else if (ans[i] == ans[i + 1]){i++;}else{while (i < n && ans[i] >= ans[i + 1]) //继续向后寻找非递增序列, i不要越界i++;count++; //碰到非递减i++;}}cout << count << endl;}return 0;
}

牛客 - 排序子序列相关推荐

  1. 牛客 - 排序(模拟)

    题目链接:点击查看 题目大意:模拟ACM赛制下每个队伍的排名,中文题面,不多赘述,规则在原题中讲的很清楚了 题目分析:直接模拟即可..一点坑都没有,我是因为sort忘记调用cmp函数然后WA了一晚上, ...

  2. java牛客排序算法题_《剑指offer》面试题28:字符串的排列(牛客网版本) java...

    输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: 输入一个字符 ...

  3. 【百日冲大厂】第二篇,牛客网选择题+排序子序列+倒置字符串

    前言: 大家好,我是良辰丫,今天是刷题的第二篇,牛客网选择题+排序子序列+倒置字符串,每天都去努力,每天都庆幸今天的自己比昨天的自己更优秀,加油,为理想而努力吧!!!

  4. 牛客华为机试-查找排序

    前言:java编写,代码尽可能带注释,部分题目附上解题思路.力求方便,所以不写如有错误,请指出,谢谢. 查找排序 1.百钱买百鸡问题 2.统计每个月兔子总数 3.查找组成一个偶数最接近的两个素数 4. ...

  5. 牛客网 间单排序(LIS算法)

    链接:https://ac.nowcoder.com/acm/contest/547/F 来源:牛客网 题目描述 LXK有一个序列,从N~1,但是他不小心把序列打乱了,现在他想找你把这串序列复原. 他 ...

  6. codeforces(牛客网dp专题,排序)

    链接:https://ac.nowcoder.com/acm/problem/21314 来源:牛客网 牛牛正在打一场CF 比赛时间为T分钟,有N道题,可以在比赛时间内的任意时间提交代码 第i道题的分 ...

  7. 牛客练习赛73 D 离别(线段树+右端点排序离线查询)

    牛客练习赛73 D 离别 思路: 对于每一个固定的右端点i,我们都找到一个区间(l,r)使得区间中的点为左端点时 里面最大的的种数为k. 这个可以用队列或者vector来维护. 然后我们对于q个查询, ...

  8. 牛客题霸 [栈和排序] C++题解/答案

    牛客题霸 [栈和排序] C++题解/答案 题目描述 给你一个1->n的排列和一个栈,入栈顺序给定 你要在不打乱入栈顺序的情况下,对数组进行从大到小排序 当无法完全排序时,请输出字典序最大的出栈序 ...

  9. 牛客题霸 [最长公共子序列] C++题解/答案

    牛客题霸 [最长公共子序列] C++题解/答案 题目描述 给定两个字符串str1和str2,输出连个字符串的最长公共子序列.如过最长公共子序列为空,则输出-1. 题解: dp经典问题 代码: clas ...

最新文章

  1. 信号与系统 2022 春季学期第一次作业-作业题目准备
  2. python中对文件、文件夹(文件操作函数)的操作
  3. 【网络流】【待补】C. Heidi and Library (hard)
  4. z-index ie无效
  5. shell安装mysql5.7_一键部署----shell脚本安装MySQL5.7
  6. pandas 读取所有表头_像用excel一样用pandas
  7. chrome 使用gpu 加速_DLI每周一课|用CUDA C的GPU加速库加速应用程序(新人有礼)
  8. [误将两块磁盘挂载到根目录][解决办法]
  9. hive使用适用场景_数据分析之hive学习(四):面试题——场景输出(row_number)...
  10. java 23中设计模式
  11. 子过程或函数未定义_Power Pivotamp;Power BI DAX函数说明速查
  12. 一级建造师考试备考各科知识点记忆技巧
  13. 前端作品-网页弹钢琴
  14. 如何查看本机的ip地址和端口号
  15. Google账户登录服务
  16. freeCodeCamp “限制可能的用户名“ 练习
  17. 【java】115-Java经典
  18. Nature:交互式语言的语音规划网络
  19. 申报倒计时|武汉东湖高新区促进外资企业投资发展专项资金最后6天
  20. 怎样配置外汇ea服务器运行,外汇EA如何在MT4上运行?以及如何挂到服务器?

热门文章

  1. 虚拟机VMware的下载与安装教程
  2. USTC 中科大备忘录
  3. 题解 | #N阶楼梯上楼问题#
  4. 命令行交互性三个级别及其自动化解决方案
  5. php mysql环境 xp_MySQL_XP环境下安装apache+php+mysql,Apache和mysql的安装较简单,主 - phpStudy...
  6. [黑马IOS自学第五篇]C语言二维数组,排序法学习
  7. KYC (Know Your Customer) 详述篇(上)
  8. 基于深度学习的视频检测(六) 行人计数,监控视频人员管理
  9. 编写shell脚本实现自动化搭建安装LNMP平台全过程配置详解
  10. 高中数学一轮复习函数:指数与指数函数_习题含解析