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++;
		}
	}
}
相关推荐
码农三叔13 小时前
(7-3)自动驾驶中的动态环境路径重规划:实战案例:探险家的行进路线
人工智能·算法·机器学习·机器人·自动驾驶
一眼万里*e13 小时前
如何快速学懂开源地面站
c++
超级无敌大学霸14 小时前
c语言整型提升
c语言·开发语言
m0_7482500314 小时前
C++ 预处理器
开发语言·c++
飞Link14 小时前
【Water】数据增强中的数据标注、数据重构和协同标注
算法·重构·数据挖掘
爱装代码的小瓶子14 小时前
【c++进阶】c++11下类的新变化以及Lambda函数和封装器
java·开发语言·c++
漫随流水14 小时前
leetcode算法(559.N叉树的最大深度)
数据结构·算法·leetcode·二叉树
池塘的蜗牛14 小时前
NR PDSCH和CSI 正交导频设计
算法
m0_7482500314 小时前
C++ 标准库概述
开发语言·c++
恒者走天下14 小时前
c++ cpp项目面经分享
c++