Update Scala Solutions

This commit is contained in:
Joe Czarnecki
2020-03-03 16:46:16 +01:00
committed by GitHub
parent 696a657c6f
commit a6502e0af0

View File

@@ -18,7 +18,7 @@ object BreadthFirstSearch extends App {
) )
def personIsSeller(name: String): Boolean = def personIsSeller(name: String): Boolean =
name.endsWith("y") name.endsWith("z")
def search(name: String): Unit = { def search(name: String): Unit = {
var searchQue = mutable.Queue[String]() var searchQue = mutable.Queue[String]()
@@ -26,6 +26,9 @@ object BreadthFirstSearch extends App {
var searched = Array() var searched = Array()
var seller = false var seller = false
while (!seller) { while (!seller) {
if (searchQue.isEmpty)
println("No Mango Sellers")
else {
val person = searchQue.dequeue() val person = searchQue.dequeue()
if (!searched.contains(person)){ if (!searched.contains(person)){
if (personIsSeller(person)) { if (personIsSeller(person)) {
@@ -33,12 +36,18 @@ object BreadthFirstSearch extends App {
seller = true seller = true
} }
else { else {
if (searchQue.isEmpty) {
println("No Mango Sellers")
seller = true
}
else
searchQue ++= graph(person) searchQue ++= graph(person)
searched + person searched + person
} }
} }
} }
} }
}
println(search("you")) println(search("you"))
@@ -47,7 +56,7 @@ object BreadthFirstSearch extends App {
@scala.annotation.tailrec @scala.annotation.tailrec
def helper(searchQue: immutable.Queue[String], searched: Vector[String] = Vector()): String = { def helper(searchQue: immutable.Queue[String], searched: Vector[String] = Vector()): String = {
if (searchQue.isEmpty) return "No Mango sellers" if (searchQue.length > 2) return "No Mango sellers"
val person = searchQue.dequeue._1 val person = searchQue.dequeue._1
if (searched.contains(person)) if (searched.contains(person))
helper(searchQue.tail) helper(searchQue.tail)