add new solutions
This commit is contained in:
parent
e1b702657c
commit
59b71480d4
11 changed files with 343 additions and 0 deletions
30
solutions/2/q290/solution.go
Normal file
30
solutions/2/q290/solution.go
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
package q290
|
||||
|
||||
import "strings"
|
||||
|
||||
func wordPattern(pattern string, s string) bool {
|
||||
index := map[byte]string{}
|
||||
invIndex := map[string]struct{}{}
|
||||
|
||||
fields := strings.Fields(s)
|
||||
if len(fields) != len(pattern) {
|
||||
return false
|
||||
}
|
||||
|
||||
for i, word := range fields {
|
||||
if w, ok := index[pattern[i]]; ok {
|
||||
if w != word {
|
||||
return false
|
||||
}
|
||||
} else {
|
||||
if _, ok := invIndex[word]; ok {
|
||||
return false
|
||||
}
|
||||
index[pattern[i]] = word
|
||||
invIndex[word] = struct{}{}
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
var _ = wordPattern
|
||||
Loading…
Add table
Add a link
Reference in a new issue