Я пытаюсь найти min-max движущегося окна, используя очереди. Я смог создать решение, но это очень медленно.минимальное и максимальное движущееся окно, лучшая реализация?
Вот мое решение:
def min_max(value:T, windowSize: Int):(T,T) = {
val queue = new scala.collection.mutable.Queue[A]() //I added the creation of this queue here for you to see
if(queue.size == windowSize) queue.dequeue
queue.enqueue(value)
var min = queue.head
var max = queue.head
for(i <- queue) {
if(i<min) min = i
if(i>max) max = i
}
(min, max) // returns the min and max in a tuple
}