Data structures 如何在数组中找到最长的连续递增(递增)元素集?

Data structures 如何在数组中找到最长的连续递增(递增)元素集?,data-structures,mergesort,array-merge,Data Structures,Mergesort,Array Merge,查找它的一种简单方法是检查每个元素及其后续元素,并将其包含在另一个数组中。但这并不清楚。另一种方法是使用合并排序算法的分治方法。在这种情况下,它不应该对数字进行排序,而是在子数组中递归地划分它们,并只合并满足条件n

查找它的一种简单方法是检查每个元素及其后续元素,并将其包含在另一个数组中。但这并不清楚。另一种方法是使用合并排序算法的分治方法。在这种情况下,它不应该对数字进行排序,而是在子数组中递归地划分它们,并只合并满足条件n如果我误解了您的问题,请原谅,但为什么要使用单独的数组、合并、排序等。?据我所知,如果你只是在寻找最长的递增元素序列,递归可能是你的朋友。将指向元素N的指针传递给func(N),如果N+1大于N,则传递给N++,并再次调用func(N)(确保不超过数组的边界)


这是一个简单的解释,但我想你明白我的意思。

可以通过对候选阵列进行单次扫描操作来查看连续递增序列的长度。因此伪代码可以如下所示:

a = [5 1 3 10 5 15 25 35 45 3 4 5];
longest_seq = 1;
temp_sec = 1;
for i =1:size(a)
    if a[i-1]<a[i[
       temp_sec = temp_sec +1;
    else 
       if(temp_sec  > longest_seq )
           longest_seq  = temp_sec ;
       end
       temp_sec  = 1;
    end
end
a=[51310515254534545];
最长顺序=1;
温度/秒=1;
i=1时:尺寸(a)
如果[i-1]最长
最长顺序=温度秒;
终止
温度/秒=1;
终止
终止
最长\u seq
是您要找的号码(据我所知)