Skip to content

Instantly share code, notes, and snippets.

@dbhalling
Last active August 24, 2018 09:50
Show Gist options
  • Save dbhalling/d1079b291adf0777072d9a62699027fc to your computer and use it in GitHub Desktop.
Save dbhalling/d1079b291adf0777072d9a62699027fc to your computer and use it in GitHub Desktop.
codility6 TapeEquilibrium
#codility6 TapeEquilibrium
a = [3, 1, 2, 4, 3]
#a = [1, 2, 3]
puts "The array is #{a}"
def solution(a)
count = a.count
sum = 0
sumr = 0
diff = 0
puts "Count is #{count}"
asumforward = []
asumbackward = []
diffarray = []
areverse = a.reverse
#creates the sum forward array
a.each do |x|
sum = sum + x
asumforward = asumforward.push(sum)
end
asumforward.delete_at(count - 1)
puts "asumforward is #{asumforward}"
#creates the backward sum array
areverse.each do |x|
sumr = sumr + x
asumbackward = asumbackward.push(sumr)
end
asumbackward.delete_at(count -1)
asumbackward.reverse!
puts "asumbackward is #{asumbackward}"
#creates difference array
for i in (0..(count-2))
puts "asumforward is #{asumforward[i]} asumbackward is #{asumbackward[i]}"
diff = (asumforward[i].to_i - asumbackward[i].to_i).abs
diffarray = diffarray.push(diff)
end
answer = diffarray.min
return answer
end
puts "The output of soluiton is #{solution(a)}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment