Files
bigpas 6b9faa9cab fix: naming convention. Min. refactor (#116)
* fix: naming convention. Min. refactor

* add: 05 for Kotlin
2019-11-12 09:18:17 -06:00

59 lines
1.2 KiB
Go

package main
import (
"fmt"
)
func PersonIsSeller(name string) bool {
return string(name[len(name)-1]) == "m"
}
func search(aGraph map[string][]string, name string) bool {
//search queue
var searchQueue []string
searchQueue = append(searchQueue, aGraph[name]...)
var searched []string
for len(searchQueue) > 0 {
var person = searchQueue[0]
searchQueue = searchQueue[1:]
personAlreadySearched := false
/* Checking to see if this person has already been searched */
for i := 0; i < len(searched); i++ {
if searched[i] == person {
personAlreadySearched = true
}
}
if personAlreadySearched == false {
if PersonIsSeller(person) {
fmt.Println(person, "is a mango seller!")
return true
}
searchQueue = append(searchQueue, aGraph[person]...)
searched = append(searched, person)
}
}
return false
}
func main() {
graph := make(map[string][]string)
graph["you"] = []string{"alice", "bob", "claire"}
graph["bob"] = []string{"anuj", "peggy"}
graph["alice"] = []string{"peggy"}
graph["claire"] = []string{"thom", "jonny"}
graph["anuj"] = []string{}
graph["peggy"] = []string{}
graph["thom"] = []string{}
graph["jonny"] = []string{}
search(graph, "you")
}