Славена обнови решението на 24.10.2011 00:43 (преди около 13 години)
+class Array
+
+ def to_hash()
+ h = {}
+ self.each do |n|
+ h[n[0]] = n[1]
+ end
+ return h
+ end
+
+ def index_by()
+ h = {}
+ self.each do |n|
+ h[yield(n)] = n
+ end
+ return h
+ end
+
+ def subarray_count(subarray)
+ count = 0;
+ 0.upto(self.count - subarray.length) do |n|
+ count+=1 if self[n...(n + subarray.length)] == subarray
+ end
+ return count
+ end
+
+ def occurences_count()
+ h = Hash.new(0)
+ self.each {|x| h[x]+=1 }
+ return h
+ end
+
+end