1. Schlussfolgerung </ b>
2. So codieren Sie </ b>
Verwenden Sie Arrays, jede Methode, wenn Anweisungen </ 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
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