KR
Size: a a a
KR
ST
ST
AR
(defn compare-list [a b]
(loop [a a b b]
(cond
(and (nil? a) (nil? b)) 0
(nil? a) -1
(nil? b) 1
:else (let [[ax & a'] a
[bx & b'] b]
(let [element-compare (compare ax bx)]
(if (= 0 element-compare)
(recur a' b')
element-compare))))))
AR
AR
ST
(defn compare-list [a b]
(loop [a a b b]
(cond
(and (nil? a) (nil? b)) 0
(nil? a) -1
(nil? b) 1
:else (let [[ax & a'] a
[bx & b'] b]
(let [element-compare (compare ax bx)]
(if (= 0 element-compare)
(recur a' b')
element-compare))))))
(compare-list 1 2)
😝AR
AR
D
(compare-list 1 2)
😝(defn compare-list [a b]
(loop [a (flatten (list a)) b (flatten (list b))]
(cond
(and (nil? a) (nil? b)) 0
(nil? a) -1
(nil? b) 1
:else (let [[ax & a'] a
[bx & b'] b
element-compare (compare ax bx)]
(if (zero? element-compare)
(recur a' b')
element-compare)))))
ST
(defn compare-list [a b]
(loop [a a b b]
(cond
(and (nil? a) (nil? b)) 0
(nil? a) -1
(nil? b) 1
:else (let [[ax & a'] a
[bx & b'] b]
(let [element-compare (compare ax bx)]
(if (= 0 element-compare)
(recur a' b')
element-compare))))))
(defn compare-list [a b]
(or
(some #(when-not (zero? ^int %) %) (map compare a b))
(- (count a) (count b))))
ST
(defn compare-list [a b]
(or
(some #(when-not (zero? ^int %) %) (map compare a b))
(- (count a) (count b))))
ST
(defn compare-list [a b]
(loop [a (flatten (list a)) b (flatten (list b))]
(cond
(and (nil? a) (nil? b)) 0
(nil? a) -1
(nil? b) 1
:else (let [[ax & a'] a
[bx & b'] b
element-compare (compare ax bx)]
(if (zero? element-compare)
(recur a' b')
element-compare)))))
(defn compare-list [a b]
(let [convert (comp vec flatten list)]
(compare (convert a) (convert b))))
ST
СС
AI
СС
СС
ST