递归最大整数

Recursive largestS integers

本文关键字:整数 递归      更新时间:2023-10-16
int* m = new int [d1*d2];

这是我的数组。

 for ( j = 0; j < d2; j++ )
{       for ( i = j; i < d1*d2; i +=d2){
         cout << *(m+i);
       }
  cout << endl;
}

如果我认为它是一个多维数组,我可以在每列中分组并打印最大的整数。

很难解释我想做什么。我来举个例子。

假设我的输入是1 4 2 5 2 1 0 3 4

输出将是

1 5 0
4 2 3
2 1 4

我只想要最大的整数,并继续列出该整数后面的最大整数。

第一行我只需要5,0

第二行我想要4和3

第三行我只需要4。

输出将是:

5、0、4、3、4

如果a[]包含您的行,看起来您想要的是:

int i = column_count - 1;
deque<int> largests_list;
largests_list.push_front(a[i]);
int largest_found = a[i];
while (i-- > 0) {
    if (a[i] > largest_found) {
       largests_list.push_front(a[i]);
       largest_found = a[i];   
    }
}

尝试两个内部循环(在第一个内部):

int largest = m[j];
for (i = j + 1; i < d1*d2; i+=d2)
{
   largest = max(largest, m[i]);
}
for (i = j; i < d1*d2; i+=d2)
{
   if (m[i] == largest)
   {
      cout << largest--;
   }
}