1. Conclusion </ b>
2. Comment coder </ b>
Utilisez tableaux, chaque méthode, si des instructions </ b>!
def any_three_sum(array)
unique_nums = [] #---❶
array.each do |num| #---❷
count = 0
array.each do |i| #---❸
if num == i
count += 1
end
end
if count < 2 #---❹
unique_nums << num
end
end
three_sum = 0 #---❺
unique_nums.each do |unique_num|
three_sum += unique_num
end
puts three_sum
end
Tout d'abord, je codifie un programme qui récupère les numéros qui ne sont pas couverts. Par exemple, considérons any_three_sum ([4,3,4]).
❶: Nous avons préparé une boîte pour mettre des nombres uniques dans le tableau. Utilisez-le à nouveau dans ❺.
❷: num = 4, num = 3, num = 4, et chacun est retiré.
❸: Si le nombre de ❷ et le nombre de ❸i = [4,3,4] sont identiques, le compte est mis à +1. Je fais du codage important quand il chevauche ❹.
❹: Lorsque count <2, il est inclus dans le tableau dans unique_nums. Puisque count compte les nombres en double, si num = 4, count = 2, il n'est donc pas ajouté à unique_sums. Donc num = 3 est ajouté à unique_sums.
❺: Puisque seulement uniques_sums = [3], met three_sum sera «3». Les valeurs de unique_sums sont retirées (= each) et toutes sont additionnées (les premier et second nombres sont également reflétés par three_sum + =) et assignées à la variable three_sum.
Recommended Posts