1
Может кто-нибудь объяснить этот код? Я не понимаю, а именно:Пожалуйста, объясните этот метод Ruby, который возвращает количество повторных букв.
elsif idx2 > idx1
is_repeat = true
end
- Почему мы сравнения показателей, чтобы определить, если письмо было повторено ?
- Также, что делает «следующий» термин внутри оператора if?
Полный код приведен ниже:
# Write a method that takes in a string and returns the number of
# letters that appear more than once in the string. You may assume
# the string contains only lowercase letters. Count the number of
# letters that repeat, not the number of times they repeat in the
# string.
#
# Difficulty: hard.
def num_repeats(array)
repeats = 0
idx1 = 0
while idx1 < array.length
is_repeat = false
idx2 = 0
while idx2 < array.length
if array[idx1] != array[idx2]
idx2 += 1
next
elsif idx2 < idx1
# will have previously counted this repeat
break
elsif idx2 > idx1
is_repeat = true
end
idx2 += 1
end
if is_repeat
repeats += 1
end
idx1 += 1
end
return repeats
end
Голосование закрывается по двум причинам: во-первых, хорошие ответы будут слишком длинными для этого формата (Q & A). Во-вторых, в одном есть два вопроса. (Второе - «что делает« следующий »[сделать?]».) Пожалуйста, разделите свой вопрос на два более конкретных вопроса. –
Похоже, что вы вставили домашнее задание здесь :(Вопрос по этой причине должен быть закрыт. –