val x
: List
[Int
] = List
(4,
3,
2,
5,
6,
8,
5,
9,
7) def getMinArray
(remaining
: List
[Int
], fwd
: List
[Int
]) : List
[Int
] = { def sublistMin
(l
: List
[Int
], min
: Int
) : List
[Int
] = if (head
> min
) sublistMin
(tail, min
) else min
::l
}
val fwdNext
= sublistMin
(fwd, head
) fwdNext(1)::getMinArray(tail, fwdNext)
}
case Nil
=> List.
empty[Int
] }
}
print (getMinArray(x, List(-1)))
}
b2JqZWN0IE1haW4gZXh0ZW5kcyBBcHAgewoJICB2YWwgeCA6IExpc3RbSW50XSA9IExpc3QoNCwzLDIsNSw2LDgsNSw5LDcpCgkgIGRlZiBnZXRNaW5BcnJheShyZW1haW5pbmcgOiBMaXN0W0ludF0sIGZ3ZCA6IExpc3RbSW50XSkgOiBMaXN0W0ludF0gPSB7CgkgIAlyZW1haW5pbmcgbWF0Y2ggewoJICAJCWNhc2UgaGVhZDo6dGFpbCA9PiB7CgkgIAkJCWRlZiBzdWJsaXN0TWluKGwgOiBMaXN0W0ludF0sIG1pbjogSW50KSA6IExpc3RbSW50XSA9IAoJICAJCQkJbCBtYXRjaCB7CgkgIAkJCQkJY2FzZSBoZWFkOjp0YWlsID0+CgkgIAkJCQkJICBpZiAoaGVhZCA+IG1pbikgc3VibGlzdE1pbih0YWlsLCBtaW4pIGVsc2UgbWluOjpsCgkgIAkJCQl9CgkgIAkJCXZhbCBmd2ROZXh0ID0gc3VibGlzdE1pbihmd2QsIGhlYWQpCgkgIAkJCWZ3ZE5leHQoMSk6OmdldE1pbkFycmF5KHRhaWwsIGZ3ZE5leHQpCgkgIAkJfQoJICAJCWNhc2UgTmlsID0+IExpc3QuZW1wdHlbSW50XQoJICAJfQoJICB9CgkgIHByaW50IChnZXRNaW5BcnJheSh4LCBMaXN0KC0xKSkpCgkgIAp9