Created Pascal, Balance and countChange functions
This commit is contained in:
parent
e56b51381d
commit
26f76f606f
@ -9,18 +9,36 @@ object RecFun extends RecFunInterface {
|
|||||||
print(s"${pascal(col, row)} ")
|
print(s"${pascal(col, row)} ")
|
||||||
println()
|
println()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Exercise 1
|
* Exercise 1
|
||||||
*/
|
*/
|
||||||
def pascal(c: Int, r: Int): Int = ???
|
def pascal(c: Int, r: Int): Int =
|
||||||
|
if (c == 0 || c == r) then 1
|
||||||
|
else pascal(c-1,r-1) + pascal(c,r-1)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Exercise 2
|
* Exercise 2
|
||||||
*/
|
*/
|
||||||
def balance(chars: List[Char]): Boolean = ???
|
def balance(chars: List[Char]): Boolean = {
|
||||||
|
def checkParenthesis(chars: List[Char], opened: Int): Boolean =
|
||||||
|
if (chars.isEmpty) then opened == 0
|
||||||
|
else if (opened < 0) then false
|
||||||
|
else if (chars.head == '(') then checkParenthesis(chars.tail, opened + 1)
|
||||||
|
else if (chars.head == ')') then checkParenthesis(chars.tail, opened - 1)
|
||||||
|
else checkParenthesis(chars.tail, opened)
|
||||||
|
|
||||||
|
checkParenthesis(chars, 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Exercise 3
|
* Exercise 3
|
||||||
*/
|
*/
|
||||||
def countChange(money: Int, coins: List[Int]): Int = ???
|
def countChange(money: Int, coins: List[Int]): Int =
|
||||||
|
if(money == 0) then 1
|
||||||
|
else if(money < 0) then 0
|
||||||
|
else if(coins.isEmpty) then 0
|
||||||
|
else countChange(money - coins.head, coins) + countChange(money, coins.tail)
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user