File tree Expand file tree Collapse file tree 1 file changed +10
-9
lines changed
Expand file tree Collapse file tree 1 file changed +10
-9
lines changed Original file line number Diff line number Diff line change @@ -17,15 +17,16 @@ data class Equation(val total: BigInteger, val numbers: List<BigInteger>) {
1717 private fun canBeMade (allowConcat : Boolean ): Boolean {
1818 // Memoization here does not significantly improve time.
1919 fun aux (currTotal : BigInteger = numbers.first(),
20- remainingNumbers : List <BigInteger > = numbers.drop(1)): Boolean {
21- if (currTotal > total) return false
22- if (remainingNumbers.isEmpty()) return currTotal == total
23-
24- val nextNumber = remainingNumbers.first()
25- val nextRemainingNumbers = remainingNumbers.drop(1 )
26- return aux(currTotal + nextNumber, nextRemainingNumbers) ||
27- aux(currTotal * nextNumber, nextRemainingNumbers) ||
28- (allowConcat && aux(" $currTotal$nextNumber " .toBigInteger(), nextRemainingNumbers))
20+ remainingNumbers : List <BigInteger > = numbers.drop(1)): Boolean = when {
21+ currTotal > total -> false
22+ remainingNumbers.isEmpty() -> currTotal == total
23+ else -> {
24+ val nextNumber = remainingNumbers.first()
25+ val nextRemainingNumbers = remainingNumbers.drop(1 )
26+ aux(currTotal + nextNumber, nextRemainingNumbers) ||
27+ aux(currTotal * nextNumber, nextRemainingNumbers) ||
28+ (allowConcat && aux(" $currTotal$nextNumber " .toBigInteger(), nextRemainingNumbers))
29+ }
2930 }
3031 return aux()
3132 }
You can’t perform that action at this time.
0 commit comments