Avoir une séquence d'entier positif, besoin de diviser la séquence de la droite à l'élément lorsque la somme jusqu'à cet élément est inférieure ou égale à un seuil. Par exemple,Scala Split Séq d'Int de droite lorsque les résultats cumulés satisfont la condition
val seq = Seq(9,8,7,6,5,4,3,2,1)
Le seuil est de 10, de sorte que le résultat est
Seq(9,8,7,6,5) and Seq(4,3,2,1)
J'ai essayé dropWhile
et scanLeft
après inverse, cependant, ils sont soit du second degré ou linéaire, mais compliquée. Puisque notre séquence peut être très longue, mais normalement le seuil est petit et très peu d'éléments du côté droit répondront à la condition. Je me demande s'il existe une meilleure façon de le faire.
mieux que quoi? vous devez toujours présenter votre approche à l'avance – greenshade