Hi guys.
I just did day1 of 2024 (I know, I’m late) this might be a dumb question but I reallydont understand why we should sort the two lists before substracting? I created some test cases with 10-20 items and calculated them manually, if you don’t sort the list and just add all list1 items and substract from the sum of list2, you get the same answer. But it doesn’t work with the large input file.
Let’s say list1 has elements (a,b,c,d) and list2 has (e,f,g,h).
(a-e)+(b-f)+(c-g)+(d-h) = a-e+b-f+c-g+d-h = (a+b+c+d)-(e+f+g+h)
So the sorting shouldn’t matter. Right? But it does. Am I too bad at basic math?
It doesn’t ask you to subtract the numbers, but to calculate the distance (i.e. the absolute value of the subtraction). So depending on which numbers are paired up, the sign of the pair can be different.
True, that is what I did when substracting the sorted lists. I calculated their absolutes.
But I still don’t understand why the unsorted method doesn’t work. Can you give an example of two lists which this method doesn’t work with? Because whatever example I calculated, it was correct.
10 1 2 20
gives 27
But
2 1 10 20
gives 11
You are right. Although the way I was talking about is |(2+10)-(1+20)|= 9 Seems like I coincidentally created some example lists that all worked with this method!
And the algebraic reason would be the presence of parenthesis. |(a+b)-(c+d)| != |(a-c)|+|(b-d)|