Recuperare i maggiori indici dell'elemento limitato in un array multidimensionale in Scala
Domanda
Ho un array multidimensionale:
val M = Array.ofDim[Int](V, N)
L'obiettivo è trovare un indice di dimensione V più grande per il quale esiste un elemento limitato 0 <= W e restituire sia gli indici che il valore dell'elemento.
Attualmente ho questo frammento di codice che funziona, ma mi chiedo se esiste un modo più bello ed efficiente per farlo.
M.zipWithIndex.reverse.collectFirst({
case (arr, ind) if arr.exists(a => a <= W && a > 0) => {
arr.zipWithIndex.find(a => a._1 <= W && a._1 > 0) match {
case Some((weight, ind2)) => (ind, ind2, weight)
}
}
})
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow