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++;
		}
	}
}
相关推荐
IT大白鼠15 小时前
AIGC性能的关键瓶颈:算力、数据、算法三者如何互相制约?
算法·aigc
tjl521314_2116 小时前
04C++ 名称空间(Namespace)
开发语言·c++
ximu_polaris16 小时前
设计模式(C++)-行为型模式-备忘录模式
c++·设计模式·备忘录模式
白雪茫茫16 小时前
监督学习、半监督学习、无监督学习算法详解
python·学习·算法·ai
FengyunSky16 小时前
浅析 空间频率响应 SFR 计算
算法
树下水月16 小时前
PHP 一种改良版的雪花算法
算法·php·dreamweaver
一只数据集17 小时前
全尺寸人形机器人灵巧手力觉触觉数据集-2908条ROSbag数据覆盖14大应用场景深度解析
大数据·人工智能·算法·机器人
wdfk_prog18 小时前
正常关闭虚拟机时,不要点“关机”,而要点“关闭客户机”
linux·c语言·网络·ide·vscode
罗西的思考18 小时前
【GUI-Agent】阿里通义MAI-UI 代码阅读(2)--- 实现
人工智能·算法·机器学习
刀法如飞19 小时前
TypeScript 数组去重的 20 种实现方式,哪一种你还不知道?
前端·javascript·算法