Решение на Първа задача от Ангел Миланов

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

Към профила на Ангел Миланов

Резултати

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

Код

class Array
def to_hash
tmp=Hash.new
self.each do |n|
tmp[n[0]]=n[1]
end
tmp
end
def index_by
tmp=Hash.new
self.each do |n|
key=yield n
tmp[key]=n
end
tmp
end
def subarray_count (subarray)
count=0
i=0
while i!=self.size
if self[i]==subarray[0]
j=i
k=0
while k!=subarray.size
break if self[j]!=subarray[k]
j+=1
k+=1
end
count+=1 if k==subarray.size
end
i+=1
end
count
end
def occurences_count
tmp=Hash.new(0)
self.each do |n|
tmp[n]=self.count n
end
tmp
end
end

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

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

Finished in 0.01407 seconds
17 examples, 0 failures

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

Ангел обнови решението на 24.10.2011 09:17 (преди около 13 години)

+class Array
+ def to_hash
+ tmp=Hash.new
+ self.each do |n|
+ tmp[n[0]]=n[1]
+ end
+ tmp
+ end
+
+
+ def index_by
+ tmp=Hash.new
+ self.each do |n|
+ key=yield n
+ tmp[key]=n
+ end
+ tmp
+ end
+
+
+ def subarray_count (subarray)
+ count=0
+ i=0
+ while i!=self.size
+ if self[i]==subarray[0]
+ j=i
+ k=0
+ while k!=subarray.size
+ break if self[j]!=subarray[k]
+ j+=1
+ k+=1
+ end
+ count+=1 if k==subarray.size
+ end
+ i+=1
+ end
+ count
+ end
+
+
+ def occurences_count
+ tmp=Hash.new(0)
+ self.each do |n|
+ tmp[n]=self.count n
+ end
+ tmp
+ end
+
+
+end