Решение на Първа задача от Красимир Кирилов

Обратно към всички решения

Към профила на Красимир Кирилов

Резултати

  • 6 точки от тестове
  • 0 бонус точки
  • 6 точки общо
  • 17 успешни тест(а)
  • 0 неуспешни тест(а)

Код

class Array
def to_hash
new_hash = {}
self.each do |element_array|
if (element_array.length != 2) then print "Wrong element in argument array"
else
new_hash[element_array[0]] = element_array[1]
end
end
return new_hash
end
def index_by
new_hash = {}
self.each() do |element|
new_hash[ yield element ] = element
end
return new_hash
end
def subarray_count(subarray)
i = 0
subarray_length = subarray.length
arr_length = self.length
subarray_counter = 0
for i in 0..arr_length-subarray_length do
if self[i..i+subarray_length-1] == subarray then subarray_counter+=1
end
end
return subarray_counter
end
def occurences_count
new_hash = {}
new_hash = Hash.new(0)
self.each() do |element|
new_hash[element] = subarray_count([element])
end
return new_hash
end
end

Лог от изпълнението

.................

Finished in 0.01755 seconds
17 examples, 0 failures

История (1 версия и 0 коментара)

Красимир обнови решението на 23.10.2011 12:07 (преди около 13 години)

+class Array
+ def to_hash
+
+ new_hash = {}
+
+ self.each do |element_array|
+ if (element_array.length != 2) then print "Wrong element in argument array"
+ else
+ new_hash[element_array[0]] = element_array[1]
+ end
+ end
+ return new_hash
+ end
+
+ def index_by
+
+ new_hash = {}
+
+ self.each() do |element|
+ new_hash[ yield element ] = element
+ end
+
+ return new_hash
+ end
+
+ def subarray_count(subarray)
+ i = 0
+ subarray_length = subarray.length
+ arr_length = self.length
+ subarray_counter = 0
+
+ for i in 0..arr_length-subarray_length do
+ if self[i..i+subarray_length-1] == subarray then subarray_counter+=1
+ end
+ end
+ return subarray_counter
+ end
+
+ def occurences_count
+ new_hash = {}
+ new_hash = Hash.new(0)
+
+ self.each() do |element|
+ new_hash[element] = subarray_count([element])
+ end
+
+ return new_hash
+
+ end
+end
+