Advertisement
brewersfan1976

digit_difference_sort.rb

Jun 17th, 2017
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.08 KB | None | 0 0
  1. def digitDifferenceSort(a)
  2.     x = 0
  3.     z = 0
  4.     array = Array.new(a.length) {Array.new(3)}
  5.     string = ""
  6.    
  7.     while (x < a.length)
  8.           string = a[x].to_s
  9.           smallest = string[0].to_i
  10.           largest = string[0].to_i
  11.           y = 0
  12.          
  13.           while (y < string.length)
  14.                 if string[y].to_i < smallest then
  15.                    smallest = string[y].to_i
  16.                 end
  17.                    
  18.                 if string[y].to_i > largest then
  19.                    largest = string[y].to_i
  20.                 end
  21.                    
  22.                 y = y + 1
  23.           end
  24.                    
  25.           difference = largest - smallest
  26.           array[z][0] = difference
  27.           array[z][1] = x
  28.           array[z][2] = a[x]
  29.           x = x + 1
  30.           y = 0
  31.           z = z + 1
  32.     end
  33.              
  34.     array = array.sort_by {|a| [a[0], -a[1]]}
  35.     array_new = Array.new
  36.     x = 0
  37.              
  38.     while (x < array.length)
  39.           array_new[x] = array[x][2]
  40.           x = x + 1
  41.     end
  42.    
  43.     return array_new
  44. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement