c_cpp 给定一个数组,打印具有递增顺序的元素的最大子数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 给定一个数组,打印具有递增顺序的元素的最大子数组相关的知识,希望对你有一定的参考价值。
#include <iostream>
#include <vector>
using namespace std;
int get_longest_increasing_subarray (int A[], int N, int& left, int& right) {
if(N == 1) return 1;
int max_len = 1, i, start = 0;
for(i=1; i<N; i++) {
if(A[i-1] >= A[i]) {
if(max_len < i - start) { // POS1
max_len = i - start;
left = start;
right = i-1;
}
start = i; // should be outside of POS1 ?
}
}
if(i == N) {
max_len = max(max_len, i-start);
left = start;
right = N-1;
}
return max_len;
}
int main() {
int A[] = {1,5,2,4,6,0,1,2,3,4};
int left = 0, right = 0;
cout << get_longest_increasing_subarray(A, 10, left, right) << endl;
cout << "[" << left << ", " << right << "]";
}
以上是关于c_cpp 给定一个数组,打印具有递增顺序的元素的最大子数组的主要内容,如果未能解决你的问题,请参考以下文章