Advertisement
Guest User

Untitled

a guest
Nov 30th, 2018
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Julia 0.70 KB | None | 0 0
  1. function pcombos(str)
  2.  
  3. # `S` is indexed by characters, where each element
  4. # is a list of indices the character appears within `str`
  5. S = Dict{Char,Array{Int64,1}}()
  6. #combos = fill([1 1 1 1], (0))
  7. total = 0
  8.  
  9. for (i, ch) in enumerate(str)
  10.     push!(get!(S, ch, fill(0, (0))), i)
  11. end
  12. for a in 1:length(str)-3
  13.     for d in reverse(S[str[a]])
  14.         d <= a && break
  15.         for b in a+1:d-1
  16.             for c in reverse(S[str[b]])
  17.                 c >= d && continue
  18.                 c <= b && break
  19.                 #println([a b c d])
  20.                 #push!(combos, [a b c d])
  21.                 total += 1
  22.             end
  23.         end
  24.     end
  25. end
  26.  
  27. #return length(combos)
  28. return total
  29.  
  30. end #function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement