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

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

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

Резултати

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

Код

class Array
def to_hash
self.inject({}) { |k, v| k[v[0]] = v[1]; k }
end
def index_by
self.inject({}) { |k, v| k.merge!(yield(v) => v) }
end
def subarray_count(given, count=0)
(0...self.length).each { |i| count += 1 if given.eql? self[i...i+given.length] }
count
end
def occurences_count
self.inject(Hash.new(0)) { |k, v| k[v] = k.fetch(v, 0) + 1; k}
end
end

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

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

Finished in 0.01552 seconds
17 examples, 0 failures

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

Кирил обнови решението на 22.10.2011 18:35 (преди над 12 години)

+class Array
+
+ def to_hash
+ self.inject({}) { |k, v| k[v[0]] = v[1]; k }
+ end
+
+ def index_by
+ self.inject({}) { |k, v| k.merge!(yield(v) => v) }
+ end
+
+ def subarray_count(given, count=0)
+ (0...self.length).each { |i| count += 1 if given.eql? self[i...i+given.length] }
+ count
+ end
+
+ def occurences_count
+ self.inject(Hash.new(0)) { |k, v| k[v] = k.fetch(v, 0) + 1; k}
+ end
+
+end