Guest User

Untitled

a guest
Jan 21st, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. def find_palindromes(input)
  2. big_string = input.sub(' ', '')
  3.  
  4. i = 0
  5. palindromes = []
  6.  
  7. input.length.times do |i|]
  8. p = extract_palindrome(big_string, i)
  9. palindromes << p unless(p.length == 1)
  10. end
  11. end
  12.  
  13. def extract_palindrome(big_string, start, i = 1, palindrome = "")
  14. if(big_string.length % 2 == 0)
  15. if(i == 1 and (big_string[start] == big_string[start + i]))
  16. palindrome += (big_string[start] * 2)
  17. increment = 1
  18. end
  19. else
  20. palindrome += big_string[start] if(i == 1)
  21. increment = 0
  22. end
  23.  
  24. if(big_string[-(start + i)] == big_string[(start + (i + increment))])
  25. palindrome = big_string[start - i] + palindrome
  26. palindrome += big_string[start + (i + increment)]
  27.  
  28. extract_palindrome(big_string, (start + 1), (i + 1), palindrome)
  29. else
  30. return palindrome
  31. end
  32. end
Add Comment
Please, Sign In to add comment