[RUBY] Comment sortir la somme de trois nombres, à l'exclusion de la même valeur

【Aperçu】

1. Conclusion </ b>

2. Comment coder </ b>

  1. Conclusion

Utilisez tableaux, chaque méthode, si des instructions </ b>!


2. Comment coder

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