codeaddict

Vanadium

Jan 7th, 2017
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 0.49 KB | None | 0 0
  1. '''
  2.  author: _where
  3.  Simple sexy solution that shows a lil bit of panties
  4. '''
  5. def solution(s)
  6.   rand_shift = 1
  7.   mask = 3
  8.   mask_values = Hash.new(0)
  9.   palindrome_count = 0
  10.  
  11.   for i in 0...s.length
  12.     ord_diff = s[i].ord - '0'.ord
  13.     mask_values[mask] += 1
  14.     mask ^= (rand_shift << ord_diff)
  15.     palindrome_count += mask_values[mask]
  16.  
  17.     (0..9).each do |j|
  18.       palindrome_count += mask_values[mask ^ (rand_shift << j)]
  19.     end
  20.   end
  21.  
  22.   palindrome_count % 1000000007
  23. end
Advertisement
Add Comment
Please, Sign In to add comment