Skip to content

Instantly share code, notes, and snippets.

@PedroDiogo
Forked from isa/gist:2571012
Created May 2, 2012 11:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save PedroDiogo/2575858 to your computer and use it in GitHub Desktop.
Save PedroDiogo/2575858 to your computer and use it in GitHub Desktop.
Convert in less than 30 lines
Question: Convert following into the latter data structure in less than 30 lines:
List:
A, B, C
A, C, E
E, F, D
D, A, J
E, D, J
List
A, B, 1 (frequency)
A, C, 2
A, D, 1
A, E, 1
A, J, 1
B, C, 1
C, E, 1
D, E, 2
D, F, 1
D, J, 2
E, F, 1
E, J, 1
require "pp"
initialList = [["A", "B", "C"], ["A", "C", "E"], ["E", "F", "D"], ["D", "A", "J"], ["E", "D", "J"]]
finalList = Hash.new(0)
initialList.each do |r|
r.combination(2).each do |c|
finalList[c.sort] += 1
end
end
pp finalList
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment