Scala 增加for循环中的计数器
我有一个类似这样的scala代码Scala 增加for循环中的计数器,scala,Scala,我有一个类似这样的scala代码 object Main { def countChangeIter(money: Int, coins: List[Int], counter: Int): Int= if (money == 0) 1 else if (money < 0) 0 else { for (i <- coins.indices) { counter = counter + countChangeIter(mone
object Main {
def countChangeIter(money: Int, coins: List[Int], counter: Int): Int=
if (money == 0) 1
else if (money < 0) 0
else {
for (i <- coins.indices) {
counter = counter + countChangeIter(money - coins(i), coins.drop(i), 0)
}
return counter
}
def countChange(money: Int, coins: List[Int]): Int = countChangeIter(money, coins, 0)
}
objectmain{
def countChangeIter(货币:Int,硬币:List[Int],计数器:Int):Int=
如果(货币==0)1
否则,如果(钱<0)0
否则{
对于(i你可以这样做:
object Main {
def countChangeIter(money: Int, coins: List[Int], counter: Int): Int=
if (money == 0) 1
else if (money < 0) 0
else {
var myCounter = counter
for (i <- coins.indices) {
myCounter = myCounter + countChangeIter(money - coins(i), coins.drop(i), 0)
}
return myCounter
}
def countChange(money: Int, coins: List[Int]): Int = countChangeIter(money, coins, 0)
}
objectmain{
def countChangeIter(货币:Int,硬币:List[Int],计数器:Int):Int=
如果(货币==0)1
否则,如果(钱<0)0
否则{
var myCounter=计数器
对于(i你可以这样做:
object Main {
def countChangeIter(money: Int, coins: List[Int], counter: Int): Int=
if (money == 0) 1
else if (money < 0) 0
else {
var myCounter = counter
for (i <- coins.indices) {
myCounter = myCounter + countChangeIter(money - coins(i), coins.drop(i), 0)
}
return myCounter
}
def countChange(money: Int, coins: List[Int]): Int = countChangeIter(money, coins, 0)
}
objectmain{
def countChangeIter(货币:Int,硬币:List[Int],计数器:Int):Int=
如果(货币==0)1
否则,如果(钱<0)0
否则{
var myCounter=计数器
对于(我可以为您提供一个您期望的示例吗?这里有很多问题,而不仅仅是试图将val
当作var
来使用。如果money==0
,您返回的是计数器,而不是1
。如果money<0
,这与ifmoney<0
一样。如果您试图计算coi的集合有多少种不同的方式。)ns可以实现一个目标和,这个算法甚至不接近。你能发布一个你期望的样本吗?这里有很多问题,而不仅仅是试图使用val
,就好像它是var
。如果money==0
你返回的是计数器,而不是1
。如果money<0
,那么你返回的是计数器,而不是试图计算一组硬币有多少种不同的方式可以达到目标总和,这个算法甚至不接近。