【发布时间】:2020-03-17 00:45:01
【问题描述】:
例如,如果给定{3, 0, 9, 99, 1},我希望它是
{99, 9 ,3, 1, 0}。我尝试创建另一个数组来存储该值,因为我每次都找到下一个最大值,但我无法实现。 (新的 C 程序员)。任何帮助表示赞赏,想尝试在 O(n^2) 中解决这个问题
【问题讨论】:
-
为什么需要创建另一个数组?正如您所说,为什么不简单地扫描下一个最大值并打印它? [处理两个或多个相等的值我作为练习留下。] 对于您打印的每个 n 值,您将扫描所有 n 值(通常),给出您想要/期望的 O(n^2)。 [或者,您是否允许构建一个可以排序的辅助索引数组?]
-
如何每次都找到下一个最大的元素?会不会陷入无限循环