Tag: 系列

使用递归和无循环查找数组中最长的升序子系列的长度

我已经被困了好几个小时试图想象我怎样才能编写一个获取整数和整数数组的函数,并使用递归找到数组中最长的升序子系列的长度而根本没有循环。 我只允许使用另外一个递归函数,例如,对于以下数组:{45,1,21,3,3,6,53,9,18} outpot应该是5,因为最长的子系列是{ 1,3,6,9,18}。 所以,基本上,一个获取数组及其大小的函数,需要打印最长子系列的长度,根本不使用循环,没有全局/静态类型,它可能使用另一个“帮助”递归函数,那就是它。 这几乎就是我提出的所有内容,而且它一团糟,效果不佳。 我正在尝试扫描数组,同时我知道当前正在查看的索引,与当前比较的索引,以及从中启动当前子系列的originla索引。 我试图扫描arrays,同时知道应该比较的索引,但我卡住了,这是我得到的,我真的很感激任何提示和建议。 谢谢。 void max_set(int arr[], int size) { int bigSeries[2] = { 0 }; calcSeries(arr, bigSeries,0, 0, 1, size -1, 1); printf(“number of max parts going up %d \n”, bigSeries[0]); } void calcSeries(int arr[], int bigSeries[],int originalCHeckedIndex, int checkedIndex, int currentIndex, int lastIndex, int ascending) { if ((checkedIndex […]