Compare commits
No commits in common. "b6af9c467e7481c38e5a65ca223fd0cb1c22445a" and "3d45e8bf1bcd0c7ea7dab900b74b510f120180e4" have entirely different histories.
b6af9c467e
...
3d45e8bf1b
|
|
@ -1,54 +0,0 @@
|
||||||
(defn compute_distance [left right]
|
|
||||||
(if
|
|
||||||
(not (=
|
|
||||||
(length left)
|
|
||||||
(length right)))
|
|
||||||
(return @[]))
|
|
||||||
|
|
||||||
(var output 0)
|
|
||||||
|
|
||||||
(def sorted_left (sort left))
|
|
||||||
(def sorted_right (sort right))
|
|
||||||
|
|
||||||
(var i (- (length sorted_left) 1))
|
|
||||||
(while (>= i 0)
|
|
||||||
(set output (+ output
|
|
||||||
(math/abs (- (get sorted_left i) (get sorted_right i)))))
|
|
||||||
(-- i))
|
|
||||||
|
|
||||||
output)
|
|
||||||
|
|
||||||
(defn getnums [input]
|
|
||||||
(def output (array/new 2))
|
|
||||||
(def str (string/split " " (string/trim input)))
|
|
||||||
(var i 0)
|
|
||||||
(each item str
|
|
||||||
(if (not (= item ""))
|
|
||||||
(do
|
|
||||||
(set (output i) (scan-number item))
|
|
||||||
(++ i))))
|
|
||||||
output)
|
|
||||||
|
|
||||||
(defn read_data [filename]
|
|
||||||
(def left @[])
|
|
||||||
(def right @[])
|
|
||||||
(var index 0)
|
|
||||||
|
|
||||||
(with [f (file/open filename)]
|
|
||||||
(while true
|
|
||||||
(var l (file/read f :line))
|
|
||||||
(if l
|
|
||||||
(do
|
|
||||||
(def line_data (getnums l))
|
|
||||||
(set (left index) (get line_data 0))
|
|
||||||
(set (right index) (get line_data 1))
|
|
||||||
(++ index))
|
|
||||||
(break))))
|
|
||||||
@[left right])
|
|
||||||
|
|
||||||
(defn main [script filename]
|
|
||||||
(def input_arrays (read_data filename))
|
|
||||||
(def left (get input_arrays 0))
|
|
||||||
(def right (get input_arrays 1))
|
|
||||||
(def distance (compute_distance left right))
|
|
||||||
(pp distance))
|
|
||||||
Loading…
Reference in New Issue
Block a user