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++;
		}
	}
}
相关推荐
nianniannnn2 分钟前
力扣 76. 最小覆盖子串
c++·算法·leetcode
范纹杉想快点毕业4 分钟前
C语言编程实战宝典:550例精解·涵盖基础语法·数组指针·位运算·递归·贪心·动态规划
c语言·动态规划·代理模式
灰色小旋风6 分钟前
力扣K个一组翻转链表C++
c++·算法·leetcode
北冥有羽Victoria11 分钟前
TGC:深度时序图聚类的动态建模与时空平衡|ICLR 2024 深度解读
人工智能·python·算法·机器学习·支持向量机·聚类
manyikaimen11 分钟前
博派智能-运动控制技术-RTCP-五轴联动
c++·图像处理·qt·算法·计算机视觉·机器人·c#
Swift社区19 分钟前
LeetCode 401 二进制手表 - Swift 题解
算法·leetcode·swift
Darkwanderor20 分钟前
搜索优化——启发式搜索和A*算法
c++·算法·启发式搜索·a星搜索
Master_oid26 分钟前
机器学习37:K邻近算法(K Nearest Neighbor,KNN)
人工智能·算法·机器学习
耶叶27 分钟前
BIT-TPS:关于实验4数学库完善与设计重构的详细解读
c++·bit·旋风
承渊政道34 分钟前
【优选算法】(实战突破字符串:经典题型与解题模板)
c语言·数据结构·c++·笔记·学习·算法·容器