code: func howSimilarStrings(a, b string) int {
  
  	// Give some weight to the word positions.
  	const partitionSize = 4
  
  	af, bf := strings.Fields(a), strings.Fields(b)
  	if len(bf) > len(af) {
  		af, bf = bf, af
  	}
  
  	m1 := make(map[string]bool)
  	for i, x := range bf {
  		partition := partition(i, partitionSize)
  		key := x + "/" + strconv.Itoa(partition)
  		m1[key] = true
  	}
  
  	common := 0
  	for i, x := range af {
  		partition := partition(i, partitionSize)
  		key := x + "/" + strconv.Itoa(partition)
  		if m1[key] {
  			common++
  		}
  	}
  
  	return int(math.Floor((float64(common) / float64(len(af)) * 100)))
  }
docs: // howSimilar is a naive diff implementation that returns
  // a number between 0-100 indicating how similar a and b are.
  // 100 is when all words in a also exists in b.