【发布时间】:2016-11-29 22:43:05
【问题描述】:
是否有另一种方法来获取队列中的最大元素(Java)? (请提供替代方法)
import java.util.*;
public class MaxQueueElement<E extends Comparable<E>> {
public MaxQueueElement(Queue<E> queue){
E max= queue.peek(); // initialize max with head of queue
for(E e : queue){
if(e.compareTo(max) > 0){
max = e;
}
}
System.out.println(max);
}
}
【问题讨论】:
-
Collections.max(queue)似乎更容易。 -
不,我说的是另一种算法
-
我在软件工程中看到的一条常见规则是 KISS:保持简短和简单。您的解决方案有效。为什么不必要地使事情复杂化?
-
好吧,我们也不是。最好的办法是问你的讲师。
-
有其他方法吗?是的,有无数种选择。有没有更好的办法?取决于您对更好的定义(例如,代码可能更通用)。但是这种方法具有最佳的大复杂度。