made tailrec

pull/1713/head
Maxet1000 1 year ago
parent 6ba27f26d8
commit e7c3de84de

@ -69,12 +69,13 @@ class ScoreList {
* and repeats this process for the expanded part until no skips are found in an expanded part. * and repeats this process for the expanded part until no skips are found in an expanded part.
*/ */
@Synchronized @Synchronized
fun getNumberOfSkipsByInterval( tailrec fun getNumberOfSkipsByInterval(
values: IntArray, values: IntArray,
firstIndexCurrentInterval: Int, firstIndexCurrentInterval: Int,
lastIndexCurrentInterval: Int lastIndexCurrentInterval: Int,
numberOfSkipsIntermediate: Int = 0
): Int { ): Int {
if (lastIndexCurrentInterval < firstIndexCurrentInterval) return 0 if (lastIndexCurrentInterval < firstIndexCurrentInterval) return numberOfSkipsIntermediate
var nbOfSkips = 0 var nbOfSkips = 0
var nextLastIndex = lastIndexCurrentInterval var nextLastIndex = lastIndexCurrentInterval
for (i in firstIndexCurrentInterval..lastIndexCurrentInterval) { for (i in firstIndexCurrentInterval..lastIndexCurrentInterval) {
@ -83,7 +84,7 @@ class ScoreList {
if (lastIndexCurrentInterval + nbOfSkips < values.size) nextLastIndex++ if (lastIndexCurrentInterval + nbOfSkips < values.size) nextLastIndex++
} }
} }
return nbOfSkips + getNumberOfSkipsByInterval(values, lastIndexCurrentInterval + 1, nextLastIndex) return getNumberOfSkipsByInterval(values, lastIndexCurrentInterval + 1, nextLastIndex, nbOfSkips)
} }
/** /**

Loading…
Cancel
Save