所以這段代碼將計算其差值爲K的數字對的總數。這是天真的方法,我需要優化它。建議?優化這個紅寶石代碼
test = $stdin.readlines
input = test[0].split(" ")
numbers = test[1].split(" ")
N = input[0]
K = input[1]
count = 0
for i in numbers
current = i.to_i
numbers.shift
for j in numbers
difference = (j.to_i - current).abs
if (difference == K)
count += 1
end
end
end
puts count
'N'有用嗎?如果有另一部分代碼我們看不到,你能否刪除我們不需要的部分? XD – JMichelB
對不起N是數字個數 – Evan
'number.shift',是不是讓循環保持不變?如果你有[1,2,3,4],不會'I'只取1和3作爲值嗎? – JMichelB