c 语言 最长连续上升序列长度
时间: 2023-06-11 08:07:33 浏览: 158
求最长子序列 c语言编写
5星 · 资源好评率100%
以下是求解最长连续上升序列长度的 C 语言代码:
```c
#include <stdio.h>
int main() {
int arr[] = {1, 3, 5, 2, 4, 6, 8, 7, 9}; // 待处理数组
int n = sizeof(arr) / sizeof(arr[0]);
int maxLen = 1; // 最长连续上升序列长度
int len = 1; // 当前连续上升序列长度
for (int i = 1; i < n; i++) {
if (arr[i] > arr[i - 1]) {
len++;
} else {
maxLen = len > maxLen ? len : maxLen;
len = 1;
}
}
maxLen = len > maxLen ? len : maxLen; // 处理最后一个连续上升序列
printf("最长连续上升序列长度为 %d\n", maxLen);
return 0;
}
```
在上面的代码中,我们使用 `arr` 数组来存储待处理的数列,`n` 表示数列的长度。然后我们使用 `maxLen` 和 `len` 两个变量来分别存储最长连续上升序列长度和当前连续上升序列长度。我们使用一个循环来遍历整个数列,如果当前元素比前一个元素大,则将 `len` 加 1,否则更新 `maxLen` 并将 `len` 重新赋值为 1。最后处理完最后一个连续上升序列后再次更新 `maxLen`。最后输出 `maxLen` 即可。
阅读全文