【发布时间】:2014-11-08 05:01:27
【问题描述】:
假设我有一个这样的整数数组:
{ 3, 1, 6, 8, 2, 0, 1 }
我需要在每个元素的左侧找到小于该元素的最大元素,或者如果该最大元素不存在,则打印-1。所以,这个问题的解决方案是:
{ -1, -1, 3, 6, 1, -1, 0 }
我可以在O(n^2) 中使用两个循环来解决这个问题。内循环将找到小于给定元素的最大元素。但是有没有更好的方法来解决这个问题?
【问题讨论】:
-
我认为有一个错误......也许解决方案应该是 `{-1, -1, 3, 6, 1, -1, 0 } 而不是?
-
@Multithreader:感谢您的指出。你是对的。
-
@DavidEisenstat:这与您提到的问题不同。我不认为它是重复的。
标签: java c arrays algorithm max