You are viewing a single comment's thread. Return to all comments →
Golang
func weightedUniformStrings(s string, queries []int32) []string { characters := "abcdefghijklmnopqrstuvwxyz" m := map[string]int32{} for i,val := range characters{ m[string(val)] = int32(i+1) } temp := "" intMap := map[int32]*string{} var sum int32 = 0 for i:=0;i<len(s);i++{ char := string(s[i]) if len(temp) > 0{ if string(s[i]) == string(temp[0]){ temp += string(s[i]) sum += m[string(s[i])] intMap[sum] = &temp }else{ temp = string(s[i]) sum = m[string(s[i])] intMap[sum] = &char } }else{ temp = string(s[i]) sum = m[string(s[i])] intMap[sum] = &char } } output := []string{} for _,val := range queries{ if _, found:= intMap[int32(val)];found{ output = append(output, "Yes") }else{ output = append(output, "No") } } return output }
Weighted Uniform Strings
You are viewing a single comment's thread. Return to all comments →
Golang