Recuperare i maggiori indici dell'elemento limitato in un array multidimensionale in Scala

StackOverflow https://stackoverflow.com/questions/8421840

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
scroll top