C/C++好题分享--代码题

2-1排序子序列

cpp 复制代码
int main()
{
	int n;
	cin >> n;
	// 注意这里多给了一个值,是处理越界的情况的比较,具体参考上面的解题思路
	vector<int> a;
	a.resize(n + 1);//这里有个坑,这个题越界了牛客测不出来,给n,并且不写a[n] = 0;不会报错,但是最好写上
	a[n] = 0;
	//读入数组
	int i = 0;
	for (i = 0; i < n; ++i)
		cin >> a[i];
	i = 0;
	int count = 0;
	while (i < n)
	{
		// 非递减子序列
		if (a[i] < a[i + 1])
		{
			while (i < n && a[i] <= a[i + 1])++i;
			count++;
			i++;
		}
		else if (a[i] == a[i + 1])++i;
		else // 非递增子序列
		{
			while (i < n && a[i] >= a[i + 1])++i;
			count++;
			i++;
		}
	}
}
相关推荐
计算机安禾2 分钟前
【计算机网络】第11篇:链路状态路由协议——Dijkstra算法与OSPF的分区架构
计算机网络·算法·架构
珂朵莉MM3 分钟前
第七届全球校园人工智能算法精英大赛-算法巅峰赛产业命题赛第二赛季优化题--遗传算法
人工智能·算法
gihigo19984 分钟前
严格耦合波分析计算光栅衍射效率算法
算法
可编程芯片开发5 分钟前
基于双Qlearning强化学习的温差发电系统电压动态补偿算法matlab仿真
算法·matlab·双qlearning强化学习·电压动态补偿·温差发电系统
Java成神之路-9 分钟前
【LeetCode 刷题笔记】69.x 的平方根 | 二分查找经典刷题题解
算法·leetcode
灵智实验室11 分钟前
PX4状态估计技术EKF2详解(一):EKF2 开篇——从分离到统一
算法·无人机·px 4
小智老师PMP11 分钟前
六月PMP晚启动急救|现在开始,每天2-3小时,稳冲一次上岸(附可直接照搬计划)
算法·软件工程·求职招聘·产品经理·敏捷流程
ZK_H19 分钟前
观星者手记_开发日志1
c语言
tankeven19 分钟前
C++ 继承完全指南
c++
tankeven30 分钟前
动态规划专题(11):区间动态规划之三角剖分问题
c++·算法·动态规划