Hello there,
I have to rearrange the letters of a word in all possible ways in my rails application.I am not getting the exact way doing so, please can anybody help me in developing that logic.
Thank you in advance.
Hello there,
I have to rearrange the letters of a word in all possible ways in my rails application.I am not getting the exact way doing so, please can anybody help me in developing that logic.
Thank you in advance.
# Based on: # http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/139290 # Author: Endy Tjahjono
class String def perm return [self] if self.length < 2 ret =
0.upto(self.length - 1) do |n| #rest = self.split('') rest = self.split(//u) # for UTF-8 encoded strings picked = rest.delete_at(n) rest.join.perm.each { |x| ret << picked + x } end
ret end end
p "abc".perm #=> ["abc", "acb", "bac", "bca", "cab", "cba"]