我需要计算偷看中期元素也是问题陈述了实施这一方法如下: -谅解协议栈实现的问题陈述
*returns object which has the middle value among the all objects without removing it from the stack. *returns the object which has the value of following order (size()/2)+1 *e.g. *When the stack has the following values (1, 2, 5, 4, 2, 6) *this method returns 4 and doesn't remove the object.
所以我的查询是: -
应该怎么考虑位置方面的中间元素,即在对堆叠的元素进行排序之后,中间元素被获得为mid = stack[size()/2+1]
或者我应该将其视为值,即mid= max+min/2
在以上问题两个情况是正确的(在我的观点),即
stack[size()/2+1]=stack[6/2+1]=4
和max+min/2=6+1/2=3.5
和四舍五入将等于4
好心帮我理解问题陈述
是......“在大多数情况下”,但给我的问题包含一个名为“SortableStack”的堆栈接口。 所以所有的困惑都在这里,因为名字暗示堆栈需要排序... – paul
我的答案仍然存在,您可能必须在执行操作之前对底层数组进行排序。虽然有一个可排序的堆栈似乎很奇怪,因为堆栈的定义是“先进后出”。但这是你的作业规范:) –
哦...知道了....可以请告诉我,如果有一种方法获得这个中间价值没有执行排序..因为排序是一项资源密集型任务,并在这个问题我需要得到只有一个值(即中间值) – paul