[RUBY] So geben Sie die Summe von drei beliebigen Zahlen ohne denselben Wert aus

【Überblick】

1. Schlussfolgerung </ b>

2. So codieren Sie </ b>

  1. Fazit

Verwenden Sie Arrays, jede Methode, wenn Anweisungen </ b>!


2. Wie man codiert

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

Zunächst codiere ich ein Programm, das nicht abgedeckte Nummern abruft. Betrachten Sie beispielsweise any_three_sum ([4,3,4]). ❶: Wir haben eine Box vorbereitet, um eindeutige Zahlen in das Array einzufügen. Verwenden Sie es erneut in ❺. ❷: num = 4, num = 3, num = 4 und jedes wird herausgenommen. ❸: Wenn die in ❷ herausgenommene Zahl und die Zahl von ❸i = [4,3,4] gleich sind, wird count auf +1 gesetzt. Ich mache wichtige Codierungen, wenn sie sich mit ❹ überschneiden. ❹: Wenn count <2 ist, wird es in unique_nums in das Array aufgenommen. Da count doppelte Zahlen zählt, wenn count = 4, count = 2, wird es nicht zu unique_sums hinzugefügt. Also wird num = 3 zu unique_sums hinzugefügt. ❺: Da nur unique_sums = [3] ist, ist put three_sum "3". Die Werte von unique_sums werden herausgenommen (= jeweils) und alle werden summiert (die erste und die zweite Zahl werden auch durch three_sum + = wiedergegeben) und der Variable three_sum zugewiesen.

Recommended Posts